我正在使用以下jQuery行来选择锚元素:
a[href*=#]:not([href=#])
但是,我现在有两个模块选择锚点并相互干扰。我需要这个说
:not([href=#) && (class=fancybox)]
但那不起作用。谁能告诉我如何正确写这个?我希望它忽略死链接和锚点,它们也有一个class =“fancybox”(这是其他模块的工作原理)。
答案 0 :(得分:3)
这应该这样做:
$("a:not(.fancybox):not([href='#'])")
答案 1 :(得分:1)
您可以使用:
$('a').not('[href="#"]').not('.fancybox');
上面首先删除#
作为href
的锚点,然后移除具有类fancybox
的锚点
使用$("a:not(.fancybox):not([href='#'])")
可以做同样的事情,但我建议不要使用它,因为它不允许jQuery使用更快querySelector
答案 2 :(得分:1)
您可以使用逗号分隔列表而不是:
$("a:not(.fancybox, [href='#'])")
.not()
功能以相同的方式工作。
$("a").not(".fancybox, [href='#']")
这两者之间的唯一区别是可读性。拿你喜欢的。