さて、私はリンクのリストを持っています、私はそれらを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は、イベントを呼び出したオブジェクトではなく、「これ」をウィンドウにしたいと考えているようです。
JQueryはこの問題を非常に簡単に解決しますが、このコンテキストではJQueryにアクセスできないというだけです。通常のJavaScript内で、「this」を正しく使用してIEを取得する方法、または他のみんなが持っている行動?
ありがとう、