使用jQuery获取动态事件中的文字



我正在尝试从element <li>中的tag <a>获取文本,但它不起作用。

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);
  });
}

为什么不只是使用类而不是使用ID?
这是我建议的解决方案

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>

最新更新