" a [href * =#]:不是([href =#])"代码意味着?

时间:2014-01-06 10:08:01

标签: html css css-selectors

我不清楚这段代码的含义是什么?

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

谢谢!

5 个答案:

答案 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>