我有一个这样的嵌套菜单:
<ul id="menu">
<li>Home
<ul>
<li>New</li>
<li class="selected">Open</li>
<li>Folder</li>
</ul>
</li>
<li>Another menu
<ul>
<li>submenu item 1</li>
<li>submenu item 2</li>
<li>submenu item 3</li>
</ul>
</li>
</ul>
现在我正在尝试更改第一个LI元素(包含Home的元素)的类,因为它有一个带有“selected”类的子元素。这可能使用jQuery吗?
答案 0 :(得分:7)
捕捉目标的更快,更精确的方法。
$("li.selected").parents("#menu").addClass('foo');
更新为第一个孩子添加一些课程。
$("li.selected").parents("#menu").addClass('foo').find('li:first').addClass('bar');
我还建议您阅读jQuery Traversing文档。
答案 1 :(得分:2)
您可以使用此语法执行此操作。
$('.selected').parent().parent().addClass('foo').removeClass('bar');
答案 2 :(得分:1)
尝试
$('li.selected').parent().closest('li').addClass('foo');
编辑:对不起,只使用最接近会让它自己定位。
或者您可以使用:
$('li.selected').closest('li:not(".selected")').addClass('foo');