CSS样式#elements [1-10]

时间:2010-06-22 00:59:39

标签: css arrays

如果我有5个带有id“div1”,“element2”等的div,有没有办法用以下类似的方式设置元素数组:

#elements[1-10]{
 position:relative;
}

我知道你们可能认为我很疯狂,但是我正在处理一些自动生成的代码,我必须编辑这个cms的核心文件,如果客户端升级我不想这样做将来。

话虽如此,我无法手动将ID更改为类。

5 个答案:

答案 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")。您可以同时使用idclass属性,然后将其结合使用,这样您就可以单独保留自动生成的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*);

http://jquery.com/

我不确定您是否可以添加其他脚本元素,但这只是需要考虑的事项。

答案 4 :(得分:0)

没有一种纯粹的css方法可以做到这一点。你最好使用父子选择器。