2012-07-16 2 views
0

ID를 사용하여 JavaScript에서 동적으로 HTML 요소를 만들었습니다.동적으로 생성 된 요소의 ID를 검색 할 수 없습니다.

별도로 가치를 얻을 때 작동합니다. 하지만 jQuery를 사용하여 데이터베이스를 ID로 업데이트하는 클릭 작업을 처리했으며 정의되지 않은 ID를 얻고 있습니다. 코드는 다음과 같습니다.

스크립트 :

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

+0

@epascarello가 맞아야한다고 생각합니다. ID가 없으면 정의되지 않은 대신 빈 문자열을 얻습니다. 그래서'jsonobj [k]'는 아마도'undefined' 일 것입니다. –

+0

빈칸을 채우고 코드가 잘 작동합니다. http://jsfiddle.net/JUczN/ 더 많은 코드를 보여줌으로써 우리가 도와 줄 수 있습니다. – epascarello

답변

1

는, 클릭 처리기를 위임보십시오 :

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

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

+0

하지만 OP가 정의되지 않은 응답을 받기 때문에 클릭 핸들러가 바인딩 된 것처럼 보입니다. –

+0

Blazemonger 당신은 맞습니다 ............... – Aravind

관련 문제