2017-12-13 16 views
0

<a><li> 태그의 텍스트를 가져 오려고하는데 작동하지 않습니다. 그냥 ID를 사용하는 대신 클래스를 사용 해달라고 왜동적 이벤트에서 Jquery를 사용하여 텍스트 가져 오기

for (i = 0; i < result.length; i++) { 
    $("#ftrBtn-menu_Facility").append("<li id='ftrBtn-menu_Facility_" + (i) + "'><a href='#'>" + result[i].facility + "</a></li>"); 
    $("#ftrBtn-menu_Facility_" + (i)).click(function(){ 
    var text = $("#ftrBtn-menu_Facility_" + (i)).find("a:first").text(); 
    alert(text); 
    }); 
} 
+0

짧은 답변입니다. ("A : 먼저"참조) 클릭 – Jamiec

+0

이를 indide 텍스트()' 왜 자동으로 생성 된'id' 속성을 사용하지 말아야하는지에 대한 좋은 예입니다. 클로저를 사용하거나'var text = $ (this) .find ("a : first"). text();'를 사용할 수 있습니다. –

답변

1

? 그냥 사용 '변수 텍스트 = $ (이) .find :
여기 내 제안 된 솔루션

var result = [{ 
 
    id: 1, 
 
    facility: 'test1' 
 
}, { 
 
    id: 2, 
 
    facility: 'test2' 
 
}, { 
 
    id: 3, 
 
    facility: 'test3' 
 
}] 
 
for (i = 0; i < result.length; i++) { 
 
    $("#ftrBtn-menu_Facility").append("<li class='dtrBtn' id='ftrBtn-menu_Facility_" + (i) + "'><a href='#'>" + result[i].facility + "</a></li>"); 
 

 
} 
 
$(".dtrBtn").click(function() { 
 
    var text = $(this).text(); 
 
    alert(text); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div id="ftrBtn-menu_Facility"></div>