2012-07-16 45 views
0

我已經使用ID在JavaScript中動態創建了HTML元素。無法檢索動態創建的元素的ID

當單獨獲取價值時,它可以正常工作。但我用jQuery來處理用id更新數據庫的點擊操作,並且我得到的id爲undefined。代碼如下。

腳本:

var bt=document.createElement("b"); 
bt.setAttribute("class","assign"); 

var ah=document.createElement("a"); 
ah.href=""; 
ah.setAttribute('id',jsonobj[k]); 
ah.id=jsonobj[k]; 
ah.innerHTML="Assign"; 

bt.appendChild(ah); 
lb.appendChild(bt); 

的jQuery:

$('b.assign a').click(function(event) { 
    var id1 = $(this).attr('id'); 
    alert(id1); 
}); 
+0

如果'jsonobj [k]'對嗎? – epascarello 2012-07-16 13:27:29

+0

我認爲@epascarello一定是對的。如果沒有ID,你會得到一個空字符串,而不是未定義的。所以'jsonobj [k]'很可能是'undefined'。 – 2012-07-16 13:29:00

+0

我填入空格和代碼對我很好:http://jsfiddle.net/JUczN/,你需要顯示更多的代碼,所以我們可以幫助你。 – epascarello 2012-07-16 13:31:54

回答

1

嘗試委託單擊處理程序,所以它會自動爲所有新創建的標籤工作:

$(document).on('click','b.assign a',function(event) { 
    var id1 = $(this).attr('id'); 
    alert(id1); 
}); 

http://api.jquery.com/on/

+0

但似乎點擊處理程序是綁定的,因爲OP得到未定義的響應。 – 2012-07-16 13:35:56

+0

Blazemonger 你是對的............... – Aravind 2012-07-16 13:40:02