Javascript:动态设置onclick并传入元素本身

时间:2011-11-18 11:29:17

标签: javascript javascript-events

我动态创建一些<div>元素,然后用文本填充innerHTML属性。我试图像这样设置他们的onclick事件处理程序:

myDiv.onclick = function() { alert("Hello!") };

我能做到。我想要做的是能够在新定义的{{1}中访问值/ innerHTML(Javascript和DOM的新内容,因此我不确定我正在寻找的是什么术语)功能。如何在为onclick属性定义的函数中访问myDiv的数据? onclick会像以下一样简单:

myDiv

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:19)

onclick处理程序在元素的上下文中执行。

myDiv.onclick = function () { alert(this.innerHTML); };

答案 1 :(得分:4)

在处理程序中,this将引用元素。

myDiv.onclick = function() { alert(this.innerHTML) };

Tadaaa :).

答案 2 :(得分:0)

我认为你所追求的是:

myDiv.onclick = function () { 
    alert(this.innerHTML); 
    };

就我个人而言,我会远离innerText(由于浏览器问题)并使用innerHTML作为规则