如何使用for循环循环遍历元素列表并动态设置元素样式
how to use for loop to cycle through lists of elements and set an elements style dynamically?
我已经实现了一个for循环,在单击一个时高亮显示颜色小部件选项,但我只想高亮显示被单击的那一个,其余的没有任何边框高亮显示。我该如何在对下面的代码稍作修改的情况下完成这项工作?必须实现for循环和纯javascript。
<html>
<head>
<meta charset="utf8" />
<title></title>
<script>
function changeColor(e) {
document.getElementById("page").className = e;
var i;
var x = document.getElementById("page");
for (i = 0; i < 5; i++)
if (document.getElementById("page").className = e ){
x.getElementsByTagName("li")[i].style.borderColor = "red";
}
}
</script>
</head>
<body>
<div id="page" class=""><!-- start page wrapper -->
<hr />
<div id="theme-picker">
<h2>Theme Picker</h2>
<p>Select a theme from the options below:</p>
<div id="palette">
<ul>
<li class="midnight" onClick="changeColor('midnight')">Midnight</li>
<li class="matrix" onclick="changeColor('matrix')">Matrix</li>
<li class="peardrop" onclick="changeColor('peardrop')">Peardrop</li>
<li class="skylight" onclick="changeColor('skylight')">Skylight</li>
<li class="sunset" onclick="changeColor('sunset')">Sunset</li>
</ul>
<div class="clearfix"></div>
<hr />
</div><!-- /page -->
</body>
</html>
将循环更改为:
var i;
var x = document.getElementById("palette");
var items = x.getElementsByTagName("li");
for (i = 0; i < items.length; i++){
var item = items[i];
item.style.borderColor = item.className == e ? "red" : "";
}
相关文章:
- PHP:同时循环元素粘在一起
- 按数据属性循环元素并替换值
- Javascript/Jquery 循环元素
- for 循环元素的执行时间比内部 AJAX 调用可以响应的要快
- jQuery:对于循环元素 attr 更改,所有元素都有最后一个元素 attr
- 以延迟的方式循环元素
- 通过使用JQuery加载外部文件来循环元素
- Javascript库中每个循环元素
- 无法访问嵌套的循环元素
- JQuery中的循环元素
- 如何循环元素&数数
- 如何在jQuery事件中引用循环元素
- 循环元素's在DOM中的ID
- 循环元素不起作用
- Javascript循环元素并使用WebdriverIO单击链接
- 循环元素's列表创建一个没有jQuery的转盘
- 调用.onclick函数中方法中选定的循环元素
- 循环元素json数组
- 获取jQuery中每个循环元素的父元素
- 如何在jQuery中循环元素并同时替换