2010-07-09 66 views
1

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

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

喜欢的东西

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

回答

2

可以缩短一点,就像这样:

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

You can try it here。由于<li><ul>的孩子,所以你可以这样引用它,不需要额外的混淆Sizzle(链中的多个:not()也这样做)。

,除非有一个<ol>的可能性,你可以远程将ul部分为好,只是有:

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

我做了“不(.disabled)”从我的头,没想到,这是可能是一个有效的jQuery选择器;-)这表明jQuery选择器语法非常直观。还要感谢小提琴工具链接,非常有用。 – queen3 2010-07-12 07:40:04

相关问题