如何始终获取JavaScript中的最外层元素

时间:2012-07-01 18:43:53

标签: javascript html events dom

我有一堆div元素,都有特定的id。在这些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,它会显示内部div的id。 我怎样才能让这个显示外部dviv的id?

注意:内部div的大小与外部相同。

1 个答案:

答案 0 :(得分:3)

使用this代替evt.target来引用处理程序绑定的元素。

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