好的,我有链接列表,我正在使用 for 循环处理它们,并附加事件。链接会获得一个调用函数的点击事件。该函数需要对调用它的对象进行操作。像这样:
<ul><li id = 'myId'>Text</li>
<li id = 'myId'>Text</li>
<li id = 'myId'>Text</li>
<li id = 'myId'>Text</li>
</ul>
var grab = document.getElementsByTagName('li');
for (var x =0;x<grab.length;x++){
grab[x].attachEvent('onmouseover',doSomething);
}
function doSomething(){
this.setAttribute('color','yellow');
}
这在除 IE 之外的所有浏览器中都运行良好,我遇到的问题似乎是 IE 希望“this”成为窗口,而不是调用事件的对象。
我知道 JQuery 很容易解决这个问题,只是我无法在这种情况下访问 JQuery。有没有办法,就在常规的 javascript 中,正确使用“this”,或者一种近似的方法其他人都有的行为?
谢谢,