我有一个脚本,我将元素附加到列表中。当我点击一个函数被调用的元素时,我需要这个函数,并且对于这个函数,当创建li时需要一个变量的值(这是li
的内容)。如何在使用JavaScript创建元素时添加onclick事件?
我检查了解决方案,如添加newLi.onclick = function(){...}
。
这个解决方案的问题是我没有得到正确的值,我得到了列表中另一个元素的值。
现在这是我正在创建的元素:
var ULlist = document.getElementById('ULid');
for(i=0;i<data.length;i++){
var Value = data[i] //function to get data
var newLi = document.createElement('li');
newLi.appendChild(elements.createTextNode(Value));
newLi.onclick = function(){alert(Value)} //not displaying the right value
ULlist.appendChild(newLi);
}
所以,问题是,有没有什么方法来创建TE onclick事件给该元素变量的权值?
编辑:我已经添加了更多的代码。 李时珍正在建立,并正确显示的信息,唯一的问题是试图创建它不能做出正确的价值的事件时,应该是在li
您要添加的事件处理程序在一个循环中,不是吗? – Esailija 2012-08-07 12:59:21
是的,当然,所以Data的值在每个循环中都在变化,并且函数的值对于我正在单击的'li'元素不正确。 – Nuxy 2012-08-07 13:00:26
@Nuxy所以请显示您的完整循环... – Alnitak 2012-08-07 13:01:15