如果我有5个带有id“div1”,“element2”等的div,有没有办法用以下类似的方式设置元素数组:
#elements[1-10]{
position:relative;
}
我知道你们可能认为我很疯狂,但是我正在处理一些自动生成的代码,我必须编辑这个cms的核心文件,如果客户端升级我不想这样做将来。
话虽如此,我无法手动将ID更改为类。
答案 0 :(得分:4)
这适用于许多现代浏览器......除了IE:
<style type="text/css">
p[id*=elements] {
color: #F00;
}
</style>
<强> HTML 强>
<p id="elements1">Elements 1</p>
<p id="elements2">Elements 2</p>
<p id="elements3">Elements 3</p>
<p id="elements4">Elements 4</p>
<p id="elements5">Elements 5</p>
但有 - 我所知道的 - 无法限制它。
答案 1 :(得分:2)
我认为CSS中没有数组。您是否尝试过考虑jQuery?
答案 2 :(得分:2)
如果可能全部,请为所有这些元素提供共享类(例如class="element"
)。您可以同时使用id
和class
属性,然后将其结合使用,这样您就可以单独保留自动生成的ID并添加自己的类以用于样式设置。
如果不可能,您唯一的选择是使用
#element1, #element2, #element3 {
position: relative;
}
答案 3 :(得分:1)
您将无法使用CSS执行此操作,但您可以使用JavaScript执行此操作(我建议使用jQuery。)
尝试:
var lb = 1;
var ub = 10;
for (var i = lb; i <= ub; i++)
$("#element" + i).css(*set your css here*);
我不确定您是否可以添加其他脚本元素,但这只是需要考虑的事项。
答案 4 :(得分:0)
没有一种纯粹的css方法可以做到这一点。你最好使用父子选择器。