<!DOCTYPE html> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> <script type="text/javascript"> window.onload = function(){ // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。 var tabletr=document.getElementsByTagName("tr"); for(var i=0;i<tabletr.length;i++) { tabletr[i].onmouseover=function() { tabletr[i].style.backgroundColor="red"; } tabletr[i].onmouseout=function() { tabletr[i].style.backgroundColor="#fff"; } } } </script> </head> <body> <table border="1" width="50%" id="table"> <tr> <th>学号</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;" >删除</a></td> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" >删除</a></td> </tr> </table> <input type="button" value="添加一行" /> </body> </html>
以上为代码部分,但是在写这段代码的时候,无法得出预期结果,即鼠标经过的时候不触发事件。后来看到别人的代码,发现将tabletr[i].style.backgroundColor改为this.style.backgroundColor后就成功了。我想知道为什么在这里使用tabletr[i]不行而this则可以呢?还有这里的this代表的什么,难道不是代表的tabletr[i]吗?
Caballarii
一杯2块的奶茶
相关分类