我一直在阅读属性选择器,例如 ~ ^ |等,但我无法弄清楚以下内容: 我如何定位一个元素,其类以“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/