我想将一个活动类添加到ID所在的<li>
,例如:
<li><a href="" id="foo">text</a></li>
如何向<li>
所在的#foo
添加课程?
答案 0 :(得分:3)
$('#foo').parent('li').addClass("yourclass")
答案 1 :(得分:2)
$("#foo").closest("li").addClass("bar");
如果您的<a>
标记可能包含在其他元素中,而不是<li>
的直接子代,则parent('li')
将不起作用:
HTML
<ul>
<li><div><a id="foo">Foo</a></div></li>
<li><div><a id="bar">Bar</a></div></li>
</ul>
JS
$("#foo").closest("li").addClass("foo"); // this will correctly grab the li
$("#bar").parent("li").addClass("bar"); // this will grab nothing
答案 2 :(得分:1)
$('#foo').parent('li').addClass('active');
答案 3 :(得分:1)
$("li").has("#foo").addClass("yourclass")
答案 4 :(得分:0)
首先使用the ID selector选择ID为foo
的元素。然后,使用.parents
选择该元素的<li>
父级。使用.eq(0)
确保只找到最近的父级。最后,使用addClass
将类添加到<li>
元素。
由于我们使用父 s ,即使具有foo
ID的元素嵌套在<li>
下面的几个元素,它仍然会被选中。
$("#foo").parents("li").eq(0).addClass("bar");
答案 5 :(得分:0)
$('a[id]').closest('li').addClass('active');