我正在一個項目中,我只能使用JS來操縱HTML文件。我想改變HTML中所有div的背景顏色,我目前有以下幾點。使用getElementsByTagName選擇所有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
爲什麼不使用CSS這樣做呢? – Blender 2013-04-04 01:22:17
'divs'是一個數組,因此只需用'for'循環遍歷數組。 – Barmar 2013-04-04 01:23:35
@Barmar實際上它不是一個真正的數組,但在這種情況下,人們可以把它看作一個數組。 (這是一個NodeList。) – Pointy 2013-04-04 01:24:36