首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"a[href*=#]:not([href=#])“代码是什么意思?

"a[href*=#]:not([href=#])“代码是什么意思?
EN

Stack Overflow用户
提问于 2014-01-06 18:08:01
回答 5查看 33.5K关注 0票数 25

我不清楚这段代码是什么意思?

代码语言:javascript
复制
a[href*=#]:not([href=#])

谢谢!

EN

回答 5

Stack Overflow用户

发布于 2014-01-06 18:11:24

简单地说:

代码语言:javascript
复制
a[href*=#] 

获取在href中包含#的所有锚点(a)。

但有以下情况:

代码语言:javascript
复制
:not([href=#])

排除href完全等于#的锚点。

示例:

代码语言:javascript
复制
<a href="#step1">yes</a>
<a href="page.php#step2">yes</a>
<a href="#">no</a> 

选择器获得前两个锚点,但排除了最后一个锚点。

有关更多详细信息,请参阅attribute selectors chapter

票数 44
EN

Stack Overflow用户

发布于 2016-03-08 19:12:25

为了防止任何人在使用它和新版本的jQuery时遇到与我相同的问题:解决方案不是使用a[href*=#]:not([href=#]),而是

使用

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

从jQuery 2.2.4开始,这是一个突破性的变化。

票数 40
EN

Stack Overflow用户

发布于 2014-01-06 18:13:05

表示所有href属性都包含'#'except那些href属性等于#的元素

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20947529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档