これはおそらく簡単な質問ですが、私はそれに対する最良の答えを見つけることができません.
画面上に 10 個<div>
の要素があります。それぞれにclick()
イベント リスナーがあります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<div id="element0">Click me! (0)</div>
<div id="element1">Click me! (1)</div>
<div id="element2">Click me! (2)</div>
<div id="element3">Click me! (3)</div>
<div id="element4">Click me! (4)</div>
<div id="element5">Click me! (5)</div>
<div id="element6">Click me! (6)</div>
<div id="element7">Click me! (7)</div>
<div id="element8">Click me! (8)</div>
<div id="element9">Click me! (9)</div>
<script type="text/javascript">
for ( var i = 0; i < 10; i++ ) {
var element = document.getElementById( "element" + i );
element.onclick = function () {
alert( "Element " + i );
}
}
</script>
</body>
</html>
しかし、要素をクリックするたびに、「要素 10」と表示されます。これらのイベント ハンドラーはすべて、 に対して同じ値を使用しているようですi
。
Nが現在の要素の番号である「要素N」を表示したい。要素 ID から N を抽出したくありません。data()
jQueryのメソッドを使って保存したくありません。この問題にはもっと簡単な解決策があるに違いないと思いますが、見つかりません。誰?