首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在CSS属性选择器中,[att~=val]与[att*=val]到底有什么不同?

在CSS属性选择器中,[att~=val]与[att*=val]到底有什么不同?
EN

Stack Overflow用户
提问于 2012-05-04 13:03:35
回答 2查看 773关注 0票数 3

也许我遗漏了一些东西,但它们看起来很相似。例如,如果您使用...

代码语言:javascript
运行
复制
a[alt~="thumb"]

或者..。

代码语言:javascript
运行
复制
a[alt*="thumb"]

我可以以不同的方式缩小我的选择范围吗?我的理解是~在引号中给出了部分匹配,而*给出了部分匹配。我将稍微摆弄一下代码,但由于我在这里找不到关于这个主题的问题,所以我认为这是一个很好的主题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-04 13:17:20

在JQuery帮助(支持标准选择器)中:

代码语言:javascript
运行
复制
a[alt~="thumb"]

说明:选择具有指定属性的元素,这些元素的值包含给定的单词,以空格分隔。此选择器将测试字符串与属性值中的每个单词进行匹配,其中“单词”被定义为由空格分隔的字符串。如果测试字符串与任何单词完全相等,则选择器匹配。

代码语言:javascript
运行
复制
a[alt*="thumb"]

描述:选择具有指定属性的元素,这些元素的值包含给定子字符串。这是与值匹配的jQuery属性选择器中最宽松的一个。如果选择器的字符串出现在元素属性值内的任何位置,它将选择一个元素。将此选择器与属性包含词选择器(例如,attr~=" Word ")进行比较,后者在许多情况下更合适。

基本上,选择器~=只有在值被空格包围时才匹配。如果在任何地方找到该值,则选择器*=将匹配。

代码语言:javascript
运行
复制
<div alt='heading navigation'>
<div alt='head'>

div[alt~='head']只会匹配第二个div,但是div[alt*='head']会同时匹配两个div。

票数 4
EN

Stack Overflow用户

发布于 2012-05-04 13:18:05

[att~=value]是一个包含word的选择器。

因此,[alt="foo"]选择器将匹配<a alt="foo bar">,但不匹配<a alt="foobar">

[alt*="foo"]将两者都匹配,因为这不会对单词或其他任何东西进行歧视。只要它在值中,它就会命中。

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

https://stackoverflow.com/questions/10442963

复制
相关文章

相似问题

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