首先,我创建一个容器来存储所有行。它是一个阵列。然后我遍历这个数组的每个元素,我想添加事件和函数的事件监听器 - 但它不起作用。后来我也添加了这些功能。作为一个检查,我画了所有行粉红色..这是有效的。所以循环运行并且存在行数组。
<script>
var rows = document.getElementsByTagName("tr");
for (i=0; i < rows.length; i++) {
rows[i].addEventListener("onmouseover", mouseOver);
rows[i].addEventListener("onmouseout", mouseOut);
rows[i].addEventListener("click", mouseClick);
rows[i].style.color="pink"; //testing the loop and the array - works
}
function mouseOver() {
document.getElementByTagNameId("tr").style.color = "red";
}
function mouseOut() {
document.getElementByTagNameId("tr").style.color = "black";
}
function mouseClick(){
// nothing here yet
}
</script>
答案 0 :(得分:1)
我使用了错误的事件名称。不#34;开&#34;可以使用前缀。喜欢没有:onmouseover。相反:鼠标悬停事件。
<script>
var rows = document.getElementsByTagName("tr");
alert(rows.length);
for (i=1; i < rows.length; i++) {
rows[i].addEventListener("mouseover", mouseOver);
rows[i].addEventListener("mouseout", mouseOut);
rows[i].addEventListener("click", mouseClick);
rows[i].style.color="pink";
}
function mouseOver() {
this.style.color = "red";
}
function mouseOut() {
this.style.color = "black";
}
function mouseClick(){
alert("Row was clicked!");
}
</script>