我正在努力想出一个选择器,它将选择所有textarea
元素,但.noSpell
类的后代除外。
所以我想要匹配:
<div>
<textarea />
</div>
但不是这个
<div class="noSpell">
<div>
<textarea />
</div>
</div>
我试过了:
$(":not(.noSpell) textarea")
但它不起作用,大概是因为虽然它与外部元素不匹配,但它可以匹配任何内部元素。
那么,我如何根据类名编写一个排除DOM树部分的选择器?
答案 0 :(得分:4)
这个怎么样:
$("textarea").not(".noSpell textarea")
所有textareas,然后删除父项为.noSpell
的那些。
答案 1 :(得分:-1)
以下适用于我:
$("textarea").not(".noSpell");
在firefox / firebug中测试过。
答案 2 :(得分:-1)
@cdmckay你的方法也是对的。
尝试将textarea创建为:
<textarea></textarea>
并查看您的代码是否有效。
您可能希望这样做以查看代码是否有效
if($(":not(.noSpell) textarea").length > 0) {
alert("there");
}
else {
alert("not there");
}
干杯!