我不清楚这段代码的含义是什么?
a[href*=#]:not([href=#])
谢谢!
答案 0 :(得分:34)
简单地
a[href*=#]
获取href中包含a
的所有锚点(#
)但是:
:not([href=#])
排除href exaclty等于#
示例:
<a href="#step1">yes</a>
<a href="page.php#step2">yes</a>
<a href="#">no</a>
选择器获得前两个锚,但它排除了最后一个。
答案 1 :(得分:31)
以防任何人遇到与我相同的问题和新版本的jQuery:
解决方案不是使用a[href*=#]:not([href=#])
而是
a[href*="#"]:not([href="#"])
这是jQuery 2.2.4以后的一个重大变化。
答案 2 :(得分:2)
表示所有带有href属性的元素包含'#'
,except
其href属性等于#
答案 3 :(得分:1)
That's a CSS3 selector获取其a
属性包含 href
的所有#
,但不仅仅由单#
组成1}} char。
e.g。
<强>匹配强>
<a href="#home">Home</a>
<a href="index.html#contact">Contact</a>
未匹配
<a href="#">Top</a>
答案 4 :(得分:0)
它是一个CSS选择器,匹配任何a
元素,其href
属性包含#
字符,但不匹配仅#
的锚标记。
例如,它匹配:<a href="#test">Test Anchor</a>
,但不匹配<a href="#">Blank</a>