【发布时间】:2014-01-23 17:06:46
【问题描述】:
我没看清楚这段代码是什么意思?
a[href*=#]:not([href=#])
谢谢!
【问题讨论】:
-
但它看起来想匹配
hrefsomething=#其中“something”不能是空字符串。
标签: html css css-selectors
我没看清楚这段代码是什么意思?
a[href*=#]:not([href=#])
谢谢!
【问题讨论】:
href something =# 其中“something”不能是空字符串。
标签: html css css-selectors
简单地说:
a[href*=#]
获取所有 包含 # in href 的锚点 (a)。
但是有:
:not([href=#])
排除具有完全等于到#的href的锚。
例子:
<a href="#step1">yes</a>
<a href="page.php#step2">yes</a>
<a href="#">no</a>
选择器获取前两个锚点,但排除了最后一个。
更多详情可以咨询attribute selectors chapter
【讨论】:
*= 的东西。非常感谢!您是否偶然知道在哪里记录了此类内容,以帮助我深入了解 *= 之类的内容是如何成为事物的?
以防万一有人遇到和我一样的问题和新版本的 jQuery:
解决方案不是使用a[href*=#]:not([href=#]),而是使用
a[href*="#"]:not([href="#"])
这是 jQuery 2.2.4 以后的重大变化。
【讨论】:
表示所有href属性包含'#'的元素,except那些href属性等于#的元素
【讨论】:
That's a CSS3 selector 获取所有a 其href 属性包含 #,但不只是由单个# 字符组成。
例如
匹配
<a href="#home">Home</a>
<a href="index.html#contact">Contact</a>
不匹配
<a href="#">Top</a>
【讨论】:
#开头,只要包含在属性的某处即可。
它是一个 CSS 选择器,它匹配任何具有包含 # 字符的 href 属性的 a 元素,但不匹配仅具有 # 的锚标记。
例如,它将匹配:<a href="#test">Test Anchor</a>,但不匹配 <a href="#">Blank</a>
【讨论】: