html - 类的属性选择器以开头和结尾

标签 html css css-selectors

我一直在阅读属性选择器,例如 ~ ^ |等,但我无法弄清楚以下内容: 我如何定位一个元素,其类以“abc”开头,以“xyz”结尾。 我现在的方式是这样的:

div[class^="abc"][class$="xyz"]{}

但如果我的元素看起来像这样,它就不会工作:

<div class="foo abcDExyz bar">

仅当 abcDExyz 是类属性中的唯一类时才有效。

基本上,我想定位一个以某物开始...并以某物结束的类。在此之间,任何事情都可以进行(例如我示例中的“DE”) 我唯一的选择是使用 * 吗?

提前致谢!

最佳答案

只有当您可以保证子字符串“abc”和“xyz”永远不会出现在该元素的类属性中的任何其他类名称中,并且它们永远不会单独出现时,您才能这样做:

div[class*=" abc"][class*="xyz "]

即使该类名是类属性中的第一个、最后一个或唯一一个(除非您包括相应的 ^=$=属性选择器,但它仍然非常脆弱)。

否则,您将无法仅使用一个选择器甚至选择器列表可靠地完成此操作。

如果“abc”和“xyz”应该代表的是它自己的类名,那么你会更轻松一些,而不是......

关于html - 类的属性选择器以开头和结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39722414/

相关文章:

css - 设置活跃 Superfish 菜单选项的背景样式

css - 是否可以通过 css 选择器通过多个伪类来定位元素?

PHP 如何创建简单的钩子(Hook)?

javascript - 如何使用javascript和localStorage验证元素是否存在于html中?

javascript - 在jquery中动态创建一个选择器并使用 'this'

css - 为什么 wp_head 会破坏我的 CSS?

html - 仅使用 css 叠加 2 个图像

javascript - 在单独的 Div 中加载相同的代码两次

javascript - 如果在表内绑定(bind),则使用 knockout

jquery - 禁用网页上的所有表单控件