Ajax创建动态div不支持点击功能,为什么?
问题描述:
我使用ajax创建动态div,并希望得到通知,当我点击里面的“id”id ='listall',但它不工作,为什么? 如何纠正它。感谢 这里是代码:Ajax创建动态div不支持点击功能,为什么?
$(function(){
$.ajax({
type: "GET",
url: 'http://XXX:8080/',
dataType:'json',
contentType:"application/json",
success:function(data){
console.log(data);
var projectList="<ul style='list-style:none;'>"
for (var i = 0; i < data.data.length; i++) {
projectList += "<li><div id='listall'><a href='/projectDetail'>"+
"<img class='back' src='data.data[i]'></li>"
}
var projectList +="</ul>"
},
error:function(){
alert("connection error");
}
});
$('#listall').on('click', 'a', function(){
console.log('click!');
alert("finally");
});
});
答
代表事件
$('body').on('click', '#listall a', function(){
console.log('click!');
alert("finally");
});
+0
谢谢,我想获取点击a的id并在函数外部提醒它,我怎么能这样做? $('body')。on('click','#listall a',function(){ var projectId = this.id; }); alert(projectId);这不工作显示未定义 –
答
你应该使用
$(document).on('click','#listall a',function(){
console.log('click!');
alert("finally");
});
而不是'$( '#listall')'使用静态元素 – Satpal
我一个通过点击函数的id,我想提醒id的值,通过这样做,我得到null,我应该如何纠正它? var projectId = null; ('click','#listall a',function(){ projectId = this.id; // id = 30 }); alert(projectId);谢谢 –