CSS 选择器选择连字符后的第二个元素

标签 css css-selectors

CSS 选择器 [attr|=value] 旨在选择恰好为“value”或以“value-”开头的元素。这最初是为了允许选择所有语言而不考虑方言,例如“en-au”、“en-ca”、“en-gb”、“en-us”。

我正在寻找的是一个元素的选择器,它恰好是“值”,包括“-value-”或以“-value”结尾。就我而言,我根本不关心语言代码。

This page声称有一个 =\operator:

[data-value=|"foo"] {
  /* Attribute value has this in a dash-separated list somewhere */
}

但是我一直无法让它工作。如果我只对 2 项术语的受控列表感兴趣,那么这对我有用:

[attr*=-value][attr$=value]

但是,这也会返回诸如“xx-valuevalue”之类的元素,因此结果并不完美。

我的问题是:是否有另一种编写 CSS 选择器的方法,它会选择所有具有给定字符串的元素作为连字符分隔列表中的一个元素?

最佳答案

给你:

[attr*=-value-], [attr$=-value], [attr=value]

在伪代码中:

Get those containing -value-, those ending with -value, and those exactly equal to value.

关于CSS 选择器选择连字符后的第二个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30290687/

相关文章:

jquery - 如何限制html中的默认工具提示宽度

html - 设置相邻两个图像之间的边距或填充

css - Wordpress Neve 主题 - 主导航 CSS

javascript - 获取被点击的<a>的DOM路径

css - '>' 和 CSS 选择器中的空格有什么区别?

css - sap.m.FormattedText 在 sap.m.CustomTile 中不起作用

html - 在具有 contenteditable 的 div 中输入 webfont 文本同时出现在其他 div 中?

html - 如何使用 HTML 定位 "box"的 div

javascript - 如何测试我的 HTML 元素的祖先是否具有 CSS 类?

php - 如何检索相对于找到的特定 HTML 节点的父元素文本?