我有一個腳本,我將元素附加到列表中。當我點擊一個函數被調用的元素時,我需要這個函數,並且對於這個函數,當創建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