Javascript 使用jq通过html()或append()将html注入到另一个元素jq无法访问注入的元素,但是使用JS它可以工作吗?
这是我的密码:Javascript 使用jq通过html()或append()将html注入到另一个元素jq无法访问注入的元素,但是使用JS它可以工作吗?,javascript,jquery,Javascript,Jquery,这是我的密码: //This works $("#addNew").click(function(){ $("#Q_countainer").append("<img class='MyClassName' src='0369.png' >"); }); //This doesn't work $(".MyClassName").click(function(){ alert("HERE") }); //This doesn't work either $(docum
//This works
$("#addNew").click(function(){
$("#Q_countainer").append("<img class='MyClassName' src='0369.png' >");
});
//This doesn't work
$(".MyClassName").click(function(){
alert("HERE")
});
//This doesn't work either
$(document).on("click",".MyClassName",function(){
alert("HERE")
});
//这很管用
$(“#添加新”)。单击(函数(){
$(“#Q#u countainer”)。追加(“”);
});
//这不管用
$(“.MyClassName”)。单击(函数(){
警报(“此处”)
});
//这也不行
$(document).on(“click”,“.MyClassName”,function()){
警报(“此处”)
});
第一部分使用id=“Q\u countainer”
在元素中添加图像。第二节和第三节无法通过类、id、名称或任何东西检测到img
。//这是有效的
//This works
$("#addNew").click(function(){
//This does work, but...
$('<img class="MyClassName" src="0369.png">')
.appendTo($("#Q_countainer"))
.click(function(){
alert("HERE 1");
});
});
// ... this is better (this will work only *after* #addNew will have been clicked)
// This is called delegated events and is a good practice.
$(document).on("click",".MyClassName",function(){
alert("HERE 2");
});
$(“#添加新”)。单击(函数(){
//这确实有效,但是。。。
$('')
.appendTo($(“#Q#u countainer”))
。单击(函数(){
警报(“此处1”);
});
});
// ... 这样更好(只有在*点击*添加新功能后才能使用)
//这称为委派事件,是一种良好的做法。
$(document).on(“click”,“.MyClassName”,function()){
警报(“此处2”);
});
这里有一个//这很有效
$(“#添加新”)。单击(函数(){
//这确实有效,但是。。。
$('')
.appendTo($(“#Q#u countainer”))
。单击(函数(){
警报(“此处1”);
});
});
// ... 这样更好(只有在*点击*添加新功能后才能使用)
//这称为委派事件,是一种良好的做法。
$(document).on(“click”,“.MyClassName”,function()){
警报(“此处2”);
});
这里是一个这里是你应该做的:
$(document).ready(function(){
$("#addNew").click(function(){
$("#Q_countainer").append("<img class='MyClassName' src='0369.png' >");
});
$(document).on("click",".MyClassName",function(){
alert("HERE");
});
});
这不起作用,因为在这种情况下需要动态创建元素。另外,您在警报语句中缺少分号。以下是您应该做的:
$(document).ready(function(){
$("#addNew").click(function(){
$("#Q_countainer").append("<img class='MyClassName' src='0369.png' >");
});
$(document).on("click",".MyClassName",function(){
alert("HERE");
});
});
这不起作用,因为在这种情况下需要动态创建元素。另外,警报语句中缺少分号。您使用哪个jQuery版本?你的
#Q#u countainer
上还有其他的点击处理程序吗?在这里工作得很好。它似乎工作得很好:尽管@laruiss answer是更好的实现。它应该可以工作,你在$(document.ready())中添加了你的coed了吗?实际上,$(“.MyClassName”)。点击(…)
无法按预期运行,因为在执行这部分代码时,
将不存在,但委派事件肯定会按原样工作(因此我在回答中没有涉及它)。您使用哪个jQuery版本?你的#Q#u countainer
上还有其他的点击处理程序吗?在这里工作得很好。它似乎工作得很好:尽管@laruiss answer是更好的实现。它应该可以工作,你在$(document.ready())中添加了你的coed了吗?实际上,$(“.MyClassName”)。点击(…)
无法按预期运行,因为当执行这部分代码时,
将不存在,但委派事件肯定会按原样运行(因此我在回答中没有触及它)。