gpt4 book ai didi

javascript - 使用 getElementsByTagName 选择所有 div

转载 作者:搜寻专家 更新时间:2023-11-01 05:12:59 24 4
gpt4 key购买 nike

我正在做一个只能使用 JS 来操作 HTML 文件的项目。我想更改 HTML 中所有 div 的背景颜色,我目前有以下内容。

//Highlight Function

function highlight(e) {
e.target.style.backgroundColor = "orange";
}

function unhighlight(e) {
e.target.style.backgroundColor = "green";
}

function init() {
//Mouseover
var divs = document.getElementsByTagName("div")[0];
divs.addEventListener('mouseover', highlight, false);
divs.addEventListener('mouseout', unhighlight, false);
}
window.addEventListener("load", init, false);

HTML 看起来像这样

<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<div id="div4"></div>

很明显当前的代码只改变了其中一个div,如何通过只操纵JS让它选择所有的div

最佳答案

var elm = document.getElementsByTagName('div');

function highlight() {
this.style.backgroundColor = "orange";
}

function unhighlight() {
this.style.backgroundColor = "green";
}

function init() {
for (var i = 0; i < elm.length; i++) {
if (window.addEventListener) { //Firefox, Chrome, Safari, IE 10
elm[i].addEventListener('mouseover', highlight, false);
elm[i].addEventListener('mouseout', unhighlight, false);
} else if (window.attachEvent) { //IE < 9
elm[i].attachEvent('onmouseover', highlight);
elm[i].attachEvent('onmouseout', unhighlight);
}
}
}

if (window.addEventListener) { //when document is loaded initiate init
document.addEventListener("DOMContentLoaded", init, false);
} else if (window.attachEvent) {
document.attachEvent("onDOMContentLoaded", init);
}

请注意 addEventListener 不支持 IE < 9 你必须使用 attachEvent 代替

DEMO

关于javascript - 使用 getElementsByTagName 选择所有 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15801003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com