我使用这个javascript代码来选择所有的DIV并改变它们的颜色。我不想改变标题中DIV的颜色。这个任务的目的是学习HTML5,DOM,Javascript和getElementsByTagName函数:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>test</title>
<div>divv in header</div>
</head>
<body onload="Onload()">
<div>bla</div>
<div id="Div1">bla</div>
<div id="Div2">bla
<div id="Div4">div in div</div>
</div>
<div id="Div3" class="diiiivvv">bla</div>
</body>
</html>
<script type="text/javascript">
function Onload() {
var h = document.head;
var dh = h.getElementsByTagName('div');
if (dh.length != 0) {
dh[0].style.backgroundColor = 'red'; //fail
}
var d = document.getElementsByTagName('div');
for (var i = 0; i < d.length; i++) {
d[i].style.backgroundColor = 'blue';
};
}
</script>
2条答案
按热度按时间44u64gxh1#
你的问题在哪里?你刚刚正确地选择了head中的div:
那么为什么不对body元素使用相同的方法呢:
getElementsByTagName()
方法可以应用于任何dom元素。lxkprmvk2#
你可能会发现最好使用CSS选择器和合适的样式规则来访问所需的元素。