如何使用CSS :not选择器选取href属性中包含#的a标签
正确实现方式
直接使用属性包含匹配选择器即可:a[href*="#"]
规则说明
- CSS属性选择器中
*=的作用是匹配属性值包含指定字符串的所有元素,正好匹配你要找href属性内含#的a标签的需求。 - 你之前的写法存在多处逻辑和语法错误:
- 加了
:not()否定伪类,逻辑完全反向,会选中不符合后续规则的a标签 - 使用
$=是后缀匹配规则,仅能匹配href以#结尾的元素,和你要的「包含」逻辑不符 - 额外的转义符完全多余,#在属性选择器的引号内不需要做特殊转义处理
- 加了
扩展场景补充
如果你要精准匹配的是页内锚点链接(也就是href直接以#开头的a标签),可以改用前缀匹配规则:a[href^="#"]
内容的提问来源于stack exchange,提问作者I'm Beginner
相关产品推荐
相关产品推荐

