除了一些其他a
类元素外,我还有一个标记链接
<a class="editLink" href="www.somelink.com"> Edit <\a>
我希望使用jQuery选择每个a
元素,除了这个editLink
类中的元素。
所以我使用a.not(".editLink")
作为jQuery选择器工作正常。但是我注意到,当a.not("editLink")
和a.not("#editLink")
就像jQuery忽略了作为not()
方法参数的一部分传递的CSS。文档建议有必要传递id / class CSS,但是我可以告诉它是不必要的。
任何人都可以对此有所了解吗?我是愚蠢还是有一些魔法发生?
由于
更新 - 好吧我觉得我的语法出错了。我在做:
$("p, a.not(".editLink")").click()...
什么时候应该
$("p, a").not("a.editLink").click()...
所以我很糟糕。有趣的是,尽管原作确实选择了除editLink
类中的所有元素之外的所有元素。
感谢您的帮助:)
答案 0 :(得分:1)
它需要一个选择器字符串。它只是将"editLink"
视为表示名为<editLink>
的元素的选择器字符串,显然您的<a>
元素不是。
所以,你的代码a.not("editLink")
“工作”......不是你想象的那样:不是过滤掉那些没有带有那个名字的类的元素,它什么也没做,因为没有<a>
元素是<editLink>
个元素。而且,如果您的<a>
个元素都没有具有该名称的ID,那么a.not("#editLink")
也是如此。
答案 1 :(得分:-1)
你也可以像这样使用CSS:$('a:not(.editLink)')