循环时更改数组中项目的样式不起作用

时间:2015-11-26 22:32:23

标签: javascript arrays styles element

我正在尝试使用for循环更改列表的borderColor,所以我使用了这段代码:

var listedItems = document.getElementsByTagName("UL");
for (var i = 0; i < listedItems.length; i++){
    listedItems[i].style.borderColor = "red";
}

谁能告诉我为什么这不起作用?

将listsItems [i]与if语句中的其他内容进行比较似乎有效,但更改数组当前指向的元素并不起作用。我很困惑。

1 个答案:

答案 0 :(得分:0)

您的代码应该有效。

设置所有边框样式。如果您还没有设置borderWidth和borderStyle,则无法看到颜色:)

&#13;
&#13;
var listedItems = document.getElementsByTagName("UL");
    for (var i = 0; i < listedItems.length; i++){
        listedItems[i].style.borderStyle = "solid";
        listedItems[i].style.borderWidth = "1px";
        listedItems[i].style.borderColor = "red";
    }
&#13;
<ul>
  <li>test</li>
  <li>test</li>
  </ul>

<ul>
  <li>test2</li>
  <li>test2</li>
  </ul>
&#13;
&#13;
&#13;

var listedItems = document.getElementsByTagName("UL");
for (var i = 0; i < listedItems.length; i++){
    listedItems[i].style.border = "1px solid red";
}