我有这些div,我正在使用.tocolor进行样式设置,但我还需要唯一标识符1,2,3,4等,所以我将其添加为另一个类toocolor-1。

<div class="tocolor tocolor-1">   tocolor 1   </div>
<div class="tocolor tocolor-2">   tocolor 2   </div>
<div class="tocolor tocolor-3">   tocolor 3   </div>
<div class="tocolor tocolor-4">   tocolor 4   </div>

.tocolor{
  background: red;
}

有没有一种方法只让一个类着色**。我尝试在这个css中使用通配符*,但没有成功。

.tocolor-*{
  background: red;
}

当前回答

另一种解决方案:

div[class|='tocolor']将匹配以“tocolor-”开头的“class”属性的值,包括“tocolor-1”、“tocolor-2”等。

小心这不匹配

<div class="foo tocolor-">

参考:https://www.w3.org/TR/css3-selectors/#attribute-代表

[att|=val]表示具有att属性的元素,其值要么正好为“val”,要么以“val”开头,后跟“-”(U+002D)

其他回答

另一种解决方案:

div[class|='tocolor']将匹配以“tocolor-”开头的“class”属性的值,包括“tocolor-1”、“tocolor-2”等。

小心这不匹配

<div class="foo tocolor-">

参考:https://www.w3.org/TR/css3-selectors/#attribute-代表

[att|=val]表示具有att属性的元素,其值要么正好为“val”,要么以“val”开头,后跟“-”(U+002D)

是的,你可以做到这一点。

*[id^='term-']{
    [css here]
}

这将选择以“term-”开头的所有ID。

至于不这样做的原因,我认为选择这种方式更可取;至于风格,我不会自己做,但这是可能的。

如果您不需要唯一标识符来进一步设置div的样式,并且正在使用HTML5,您可以尝试使用自定义数据属性。阅读此处或尝试谷歌搜索HTML5自定义数据属性

您需要的是属性选择器。使用html结构的示例如下:

div[class^="tocolor-"], div[class*=" tocolor-"] {
    color:red 
}

在div的位置,您可以添加任何元素或完全删除它,在class的位置,可以添加指定元素的任何属性。

[class^=“tocolor-”]-以“tocolor-”开头。[class*=“tocolor-”]-包含直接出现在空格字符后面的子字符串“tocolor-”。

演示:http://jsfiddle.net/K3693/1/

关于CSS属性选择器的更多信息,您可以在这里和这里找到。从MDN文档MDN文档