a:不是(a:不是())选择器
我想要一个特定的动作,只要它的href
属性与锚标记的click事件相关联:
- 不是以
mailto:
开头的mailto:
和 - 不以
#
和结尾 - 存在任何值,包括空
所以我在尝试这段代码:
https://stackoverflow.com/questions/11676962/anotanothref-selector/example.com Someone The Page This does nothing $(document).on('click', 'a:not([href^="mailto\\:"], [href$="\\#"], [href])', myFunction);
它没有用。 但令我沮丧的是:
$(document).on('click', 'a:not([href^="mailto\\:"], [href$="\\#"], a:not([href]))', myFunction);
但我不明白怎么做。 注意内部:not()
。 据我所知, [href]
意味着没有href
属性。 还是相反?
有人能引导我走向光明吗?
[href]
表示存在一个href属性,无论它具有哪个值(如果有)。
正如pimvdb正确指出的那样,你可以使用
a[href]:not([href^="mailto\\:"], [href$="\\#"])
这意味着“具有任何href属性的所有元素,除了那些href属性以mailto开头的那些元素,或以#结尾的那些元素