对动态内容使用on()jquery
我正在尝试在动态添加的内容上使用,我不确定我缺少了什么。我有两个按钮,一个在DIV中创建UL。然后我点击另一个按钮在UL中创建LI。点击任何一个LI,我都会收到一条警告信息,但什么都没有发生对动态内容使用on()jquery,jquery,Jquery,我正在尝试在动态添加的内容上使用,我不确定我缺少了什么。我有两个按钮,一个在DIV中创建UL。然后我点击另一个按钮在UL中创建LI。点击任何一个LI,我都会收到一条警告信息,但什么都没有发生 创建ul 创立 $(“#fst”)。单击(函数(){ $(“#ok”).html(“”); }); $(“#snd”)。单击(函数(){ $(“.ul”).html(“一个两个”; }); $(“ul”)。on('click','li.myclass',function(){alert('ok');})
创建ul
创立
$(“#fst”)。单击(函数(){
$(“#ok”).html(“
”);
});
$(“#snd”)。单击(函数(){
$(“.ul”).html(“一个 两个 ”;
});
$(“ul”)。on('click','li.myclass',function(){alert('ok');})`
有什么建议吗 像这样使用
$(document).on('click', 'ul li.myclass', function(){
alert('ok');
});
或者更好(意见)
$(“#fst”)。单击(函数(){
$(“#ok”).html(“
”);
});
var li=$(“一 二 ”;
$(“#snd”)。单击(函数(){
$(“.ul”).html(li);
});
li.on('click',function(){
警报(“hi”);
});
为了更好地编写代码,请编写类似的代码
$("#fst").click(function(){
$("#ok").html('').append(
$('<ul>', {'class': 'ul'})
);
});
var li = $('<li>', {
'class': 'myClass',
click: function() {
alert('Hello');
}
}),
$("#snd").click(function(){
$(".ul").html('').append(li);
});
$(“#fst”)。单击(函数(){
$(“#确定”).html(“”).append(
$(“”,{'class':'ul'})
);
});
变量li=$(“- ”{
“类”:“myClass”,
单击:函数(){
警惕(“你好”);
}
}),
$(“#snd”)。单击(函数(){
$(“.ul”).html(“”).append(li);
});
我使用append
,因为它比innerHTML
这样使用要快
$(document).on('click', 'ul li.myclass', function(){
alert('ok');
});
或者更好(意见)
$(“#fst”)。单击(函数(){
$(“#ok”).html(“
”);
});
var li=$(“一 二 ”;
$(“#snd”)。单击(函数(){
$(“.ul”).html(li);
});
li.on('click',function(){
警报(“hi”);
});
为了更好地编写代码,请编写类似的代码
$("#fst").click(function(){
$("#ok").html('').append(
$('<ul>', {'class': 'ul'})
);
});
var li = $('<li>', {
'class': 'myClass',
click: function() {
alert('Hello');
}
}),
$("#snd").click(function(){
$(".ul").html('').append(li);
});
$(“#fst”)。单击(函数(){
$(“#确定”).html(“”).append(
$(“”,{'class':'ul'})
);
});
变量li=$(“- ”{
“类”:“myClass”,
单击:函数(){
警惕(“你好”);
}
}),
$(“#snd”)。单击(函数(){
$(“.ul”).html(“”).append(li);
});
我使用
append
是因为它比innerHTML
更快,您应该使用#ok
div绑定
$("#ok").on('click', 'li.myclass', function(){ alert('ok'); });
您的ul
也是动态创建的,因此无法工作<加载时,应将上的绑定到页面上已经存在的元素。您应使用#ok
div将上的绑定。如下所示:
$("#ok").on('click', 'li.myclass', function(){ alert('ok'); });
您的ul
也是动态创建的,因此无法工作<
上的代码>应绑定到加载时已在页面上的元素。由于您正在动态创建元素,您需要在创建新元素后立即将单击事件绑定到新元素,否则它将无法工作。因为您正在动态创建元素,您需要在创建新元素后立即将单击事件绑定到新元素,否则它将无法工作。ul
本身是动态创建的,这意味着当您尝试对其调用时,它甚至不存在。ul
本身是动态创建的,这意味着当你试图调用它时,它甚至不存在。