0

特定の ID を持つ div 要素がたくさんあります。これらの div の中にも div があります。ここで、onclick リスナーを最も外側の要素に追加すると、ID が返されません。たぶん、例がよりよく説明できます:

<div id="id1"><div id="bla1"></div></div>
<div id="id2"><div id="bla2"></div></div>
<div id="idn"><div id="blan"></div></div>

document.getElementById("id1").onclick = displayId;
document.getElementById("id2").onclick = displayId;
document.getElementById("idn").onclick = displayId;

function displayId(evt) {
    console.log(evt.target.id);
}

div の 1 つをクリックすると、内側の div の ID が表示されます。これを取得して、外側の dviv の ID を常に表示するにはどうすればよいですか?

注: 内側の div は外側と同じサイズです。

4

1 に答える 1

4

ハンドラーがバインドされている要素を参照するthis代わりに使用します。evt.target

function displayId(evt) {
    console.log(this.id);
}
于 2012-07-01T18:49:28.567 に答える