Ich baue ein einfaches Dropdown, wo ich eine Klasse zu übergeordneten hinzufügen möchte, wenn UL vorhanden ist:
HTML:
<ul id="menu">
<li><a href="#">Parent 1</a></li>
<li><a href="#">Parent 2</a>
<ul>
<li><a href="#">Sub 2.1</a></li>
<li><a href="#">Sub 2.2</a></li>
</ul>
</li>
</ul>
Das würde ich gerne tun:
- alle verschachtelten (
ul#menu > li > ul
) ul's zunächst - verschachtelt anzeigen/ausblenden
ul
beim Schweben - addClass "dropdown" zu Eltern, die verschachtelte ul's haben
Das funktioniert nicht ganz, ich weiß nicht warum:
$(function () {
$("ul#menu li").hover(function () {
$(this).addClass("hover");
$('ul:first', this).css('visibility', 'visible');
},
function () {
$(this).removeClass("hover");
$('ul:first', this).css('visibility', 'hidden');
});
$("ul#menu li ul li:has(ul)").find("a:first").addClass("dropdown");
});
Vielen Dank für Ihre Hilfe!