【问题标题】:attribute selector for class starts with and ends with类的属性选择器以
【发布时间】:2016-09-28 15:05:43
【问题描述】:

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

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

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

<div class="foo abcDExyz bar">

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

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

提前致谢!

【问题讨论】:

  • 如果您需要“定位一个以某事开头...并以某事结尾的类”,那么恕我直言,您之前在使用类时出现了问题。

标签: html css css-selectors


【解决方案1】:

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

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

当该类名是类属性中的第一个、最后一个或唯一一个时,即使这样也会失败(除非您包括各自的 ^=$= 属性选择器,但它仍然非常脆弱)。

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

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

【讨论】:

    猜你喜欢
    • 2019-07-30
    • 2014-09-27
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 2011-09-08
    • 2012-09-11
    • 2014-01-20
    相关资源
    最近更新 更多