动态创建不同的功能

时间:2017-02-12 15:51:32

标签: javascript html

在我的网页上,我有几个元素。我想,为这些元素中的每一个元素显示一个带有元素id的弹出窗口。不幸的是,这并没有像预期的那样发挥作用:

我做了一个jsfiddle来解释我的问题:https://jsfiddle.net/7gk3aus5/ (点击单词)

HTML:

<div id='banana'>
Banana
</div>

<div id='strawberry'>
Strawberry
</div>

<div id='apple'>
Apple
</div>

使用Javascript:

var divs = document.getElementsByTagName('div');
for (var c=0; c<divs.length; c++) {
    var div = divs[c];
  div.onclick = function() {alert(div.id);}
}

正如您所看到的,只有&#39; apple&#39;将展示,而我想展示香蕉&#39;草莓&#39;或者&#39; apple&#39;取决于用户点击的位置。

1 个答案:

答案 0 :(得分:0)

您可以使用this(侦听器附加的DOM元素)/ event.target(已点击的DOM元素)。

 div.onclick = function() { 
    alert(this.id);
 }

demo

OR

 div.onclick = function(event) { 
    alert(event.target.id);
 }