a [href * =#]:not([href =#]) - 将类添加为附加"不是"参数?

时间:2014-08-01 14:34:49

标签: jquery

我正在使用以下jQuery行来选择锚元素:

a[href*=#]:not([href=#])

但是,我现在有两个模块选择锚点并相互干扰。我需要这个说

:not([href=#) && (class=fancybox)]

但那不起作用。谁能告诉我如何正确写这个?我希望它忽略死链接锚点,它们也有一个class =“fancybox”(这是其他模块的工作原理)。

3 个答案:

答案 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='#']")

这两者之间的唯一区别是可读性。拿你喜欢的。