jquery:如果ul有某个类名的li?

时间:2010-06-10 12:10:44

标签: jquery list

我想知道我如何查询ul是否有一个具有某个类名的第一个孩子?

像...

<ul>
<li>list element 1</li>
<li>list element 2</li>
</ul>

<ul>
<li class="whatever">list element 1</li>
<li>list element 2</li>
</ul>

我想查询ul是否有一个带有classname的孩子 - &gt;做一点事! 甚至可能吗?

谢谢

3 个答案:

答案 0 :(得分:3)

合并:has()> (immediate child)选择器,如下所示:

$('ul:has( > li.whatever)')​

You can view a demo here,仅当直接<li>class="whatever">没有$("li.whatever").parent("ul") 时,才会匹配,如果任何后代有那个班。

或者,走另一条路:

<ul>

只有在<ol>(而不是<li>)的情况下,才能找到该类的所有直接.parent()元素。


认为你的意思是立即孩子,但是如果你需要只匹配直接孩子的第一个$('ul:has( > li.whatever:first-child)') 有这个类,添加:first-child selector,如下:

{{1}}

You can see a test page here

答案 1 :(得分:1)

$('ul').find('.whatever').length > 0

如果是这样你有一些,不是

答案 2 :(得分:0)

如果我没弄错:

$(function(){
    $("ul li.whatever:first-child").css({border: "1px solid red"});
});