以下是Javascript代码:
var divs = new Array("0", "c", "tb", "cn");
window.onload = function WindowLoad(event) {
for (i = 0; i < divs.length ; i++) {
document.getElementById(divs[i]).style.borderWidth = "medium";
}
}
div的ID都存储在该数组中,但我很困惑,为什么它不会在我所拥有的文本填充符周围放置边框。可能是我需要使用borderWidth以外的东西吗?
答案 0 :(得分:2)
document.getElementById(divs[i]).style.border="solid medium";
而不仅仅是
document.getElementById(divs[i]).style.borderWidth="medium";
答案 1 :(得分:0)
使用数组时最好不要使用运行索引,因为长度不是预期的行为。 例如:
var arr=[];
arr[0]="0";
arr[1000]=1000;
会是什么
arr.length return now?
the answer is **1001**.
现在,如果使用索引循环数组,则在尝试访问arr [1]时会出错。
第二件事:使用class而不是内联样式。 你的代码应该用以下方式编写:
CSS:
myClass{
border: 1px solid red;
}
脚本
var divs= new Array("0", "c", "tb", "cn");
window.onload = function WindowLoad(event) {
var key;
// The key will not loop over the real indexes of the array
for (key in divs) {
// make sure that the index we need is valid and exists.
if (divs.hasOwnProperty(key)){
document.getElementById(divs[key]).className += 'myClass';
}
}
}