我有这个:
<ul>
<li>
<ul>
<li><a>Hello world</a></li>
<li><a>hi</a></li>
</ul>
</li>
<li><a>hi</a></li>
</ul>
我需要选择第二个ul中的li(例如,带有'Hello world'字样的那个。)
我如何用jQuery做到这一点?
我试过了:
$('ul li:eq(1) li:eq(1)').doSomthing();
答案 0 :(得分:4)
这很简单:
ul ul li
这不会检查立即嵌套;选择器中的第二个ul
可以更加深入嵌套。您可以使用>
:
ul > li > ul > li
要仅抓取第一个li
,它可能看起来像这样:
$("ul > li > ul > li:first").css("background", "red");
您使用:eq
伪选择器尝试的方法看起来更像是:
$("li:eq(0) li:eq(0)").css("background", "red");
请记住索引是从零开始的,因此第一项始终是索引0。
答案 1 :(得分:0)
savest是使用直接子选择器>
$("ul > li > ul")
答案 2 :(得分:0)
try this it will work as you wish
$('ul li&gt; ul li:eq(0)')。css('border','1px solid red');