我想知道我如何查询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;做一点事! 甚至可能吗?
谢谢
答案 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}}
答案 1 :(得分:1)
$('ul').find('.whatever').length > 0
如果是这样你有一些,不是
答案 2 :(得分:0)
如果我没弄错:
$(function(){
$("ul li.whatever:first-child").css({border: "1px solid red"});
});