过滤具有ul的元素,不仅包含特定的子元素

时间:2010-07-09 15:53:24

标签: jquery

如何编写jQuery选择器以测试li是否具有至少一个不是.disabled的li的ul(可能是其他类或根本没有类)。

是的听起来很复杂,但很简单 - 我需要知道是否有内心没有“禁用”类的人。

这样的东西
$("li").filter("*:has(ul:has(li:not(.disabled)))")

1 个答案:

答案 0 :(得分:2)

你可以稍微缩短一点,如下:

$("li").filter(":has(ul li:not(.disabled))")

You can try it here。由于<li><ul>的孩子,你可以这样引用它,不需要额外的:has() selector令人困惑的Sizzle(链中的多个:not()这样做孔)。

除非有<ol>的可能性,否则您也可以远离ul部分,只需:{/ p>

$("li").filter(":has(li:not(.disabled))")