假设我的代码中有2个元素,我想将它们各自的id传递给事件处理函数。 (在我下面的例子中,我有一个div和一个按钮)
<div id="div1">
<input type="button" id="button1" onclick="doSomething(this, [here comes id of div])" />
</div>
对于按钮,我只是使用“this”关键字传递元素本身,而不是写入“button1”的id。现在我的问题是,有没有一种方法可以在函数中传递div元素本身,而不仅仅是像我对button元素那样传递它的id?
非常感谢任何帮助。
答案 0 :(得分:3)
您可以使用parentNode
property;
this.parentNode
这会返回DOMElement
(类似于this
),您可以通过相同的方式访问ID;
this.parentNode.id
......你想要吗。
答案 1 :(得分:0)
从回调中的父级获取它:
function clickHandler(e){
console.log(e.target.parentNode.id);
}
答案 2 :(得分:0)
为什么你需要首先传递它?通过parentNode
访问div。
onclick="doSomething(this);"
和
function doSomething(btn) {
var div = btn.parentNode;
}