isso é possível, sem hacks javascript? como isso:
<ul class="my_menu">
<li class="first"> ... </li>
<li> ... </li>
<li> ... </li>
<li class"with_sub"> ...
<ul class="my_menu_sub">
<li class="first"> ... </li>
<li> ... </li>
<li> ... </li>
<li class="last"> ... </li>
</ul>
</li>
<li> ... </li>
<li> ... </li>
<li class="last"> ... </li>
</ul>
Respostas:
Uma abordagem melhor e mais simples:
fonte
Aqui está um snippet aproximado que cuida da modificação da saída do menu e da adição da primeira / última à primeira e da última classe (o externo
ul
não é aplicado nesse estágio, portanto, não conta). Nota - requer PHP5 parastrripos()
Estou um pouco preso em como fazê-lo lidar com listas aninhadas, mas você deve começar pelo menos.
fonte
Aqui está uma função para adicionar apenas a primeira / a última classe aos itens de menu pai. Para a maioria dos estilos CSS, isso é tudo o que é necessário.
fonte
Saiba mais sobre a nova API de menus no wordpress 3. Você pode atribuir a qualquer elemento sua própria classe manualmente. Além disso, uma vez dominado, torna os menus uma alegria para editar.
fonte
Se você possui menus aninhados
Eu gosto da simplicidade da resposta de Ismaelj, mas é preciso haver mais se você quiser classes de submenu.
fonte
Se você não precisar de suporte para o IE8 ou inferior, não esqueça que também pode usar CSS puro:
O suporte ao navegador jQuery é ainda melhor, mas parece que você está tentando evitar isso.
fonte
Aqui está um código melhor para adicionar a primeira e a última classes de itens de menu que incluem suporte para submenus aninhados.
Você pode encontrar a essência aqui e o tutorial associado aqui .
fonte
E se:
e talvez alguns http://selectivizr.com/
fonte
<li>
de todas as listas não ordenadas do site, não apenas no menu. Também é substancialmente idêntica a esta resposta wordpress.stackexchange.com/a/63128/9844CSS puro, funciona para mim. Isso funcionará com os submenus também
fonte