我在php页面上创建了很多labels
,他们都有一个像
<label id="1_p">
<label id="2_p">
<label id="3_p">
<label id="4_p">
<label id="5_p">
... 我必须将它们的颜色更改为#D8D8D8
,我想使用for循环来实现它:
for(i=1;i<13;++i) {
document.getElementById(i+'_p').style.color='#D8D8D8';
}
顺便说一句,Firefox告诉我document.getElementById(...)为null。有什么建议吗?
答案 0 :(得分:2)
首先,不要按编号启动id值/它违反了HTML规范
答案 1 :(得分:1)
http://jsfiddle.net/fenderistic/nKuJw/
for(var i=1;i<6;i++) {
document.getElementById(i+'_p').style.color='#D8D8D8';
}
注意我使用的是i++
而不是++i
答案 2 :(得分:0)
我会为所有标签添加一个类,如
<label id="5_p" class="colorOrSomething">
然后您可以使用该类查找它们并更改颜色
document.getElementsByClassName('colorOrSomething')
答案 3 :(得分:0)
使用int
添加string
应该有效。确保您已将i
指定为var
。
作为javascript
的替代方案,您可以使用CSS3 Attribute Selectors
label[id*='_p'] {color:#D8D8D8 }
允许类标识符以数字开头,但ID标识符不是。
[id='1_p'] {
/* does work */
}
#1_p {
/* doesn't work */
}