Javascript 附加元素问题

Javascript 附加元素问题,javascript,jquery,Javascript,Jquery,我正在创建一些元素并附加它,它工作得很好,但当我想调用任何函数或想调用任何不起作用的jquery时,但当我直接放置这些元素而不是附加元素时,它就可以正常工作。总之,附加元素不调用任何函数或任何东西 JQUERY代码: var cart_content = jQuery($.create('li', {}, [])).append($.create('span',{}, [av_title]),$.create('img', {"src":"images/delete_icon.png", "cl

我正在创建一些元素并附加它,它工作得很好,但当我想调用任何函数或想调用任何不起作用的jquery时,但当我直接放置这些元素而不是附加元素时,它就可以正常工作。总之,附加元素不调用任何函数或任何东西

JQUERY代码:

var cart_content = jQuery($.create('li', {}, [])).append($.create('span',{}, [av_title]),$.create('img', {"src":"images/delete_icon.png", "class":"cart_content", "alt":"delete", "title":"Delete"}, [])); $(".advertise_cart").append(cart_content); $(".cart_content").click(function(){ alert("Hello"); }); var cart_content=jQuery($.create('li',{},[])).append($.create('span',{},[av_title]),$.create('img',{“src”:“images/delete_icon.png”,“class”:“cart_content”,“alt”:“delete”,“title”:“delete”},[]); $(“.advision\u cart”).append(cart\u内容); $(“.cart_content”)。单击(函数(){alert(“Hello”);});
  • 内部内容1

提前感谢

请勿使用。请单击“功能”

使用live函数,它对DOM中新添加的元素有效

像这样:

$(".cart_content").live(function(){    alert("Hello"); });

使用函数处理事件可能会有所帮助。

您遇到的问题是绑定事件时DOM中不存在元素。要解决此问题,可以使用
delegate()
live()

参考资料:


我要补充的唯一一点是,live函数意味着处理程序将继续应用于将来任何时候与选择器匹配的内容(除非调用unbind)。这可能就是你想要的。如果不是,您可以编写CAN,在短暂延迟(比如1.5秒)后添加click处理程序。或者更确切地说,您可以编写代码,每100毫秒检查一次.cart_内容的存在,直到找到它,然后添加单击处理程序。因此,这种方法只需添加一次单击处理程序。如果后来添加了另一个.cart_内容,则不会自动添加单击处理程序。

谢谢您的回复,但您能否告诉我如何在此使用单击事件。$(“.cart_内容”).live('click',function(){alert(“Hello”);});不客气!=)(请考虑投票或接受你觉得有助于解决问题的答案)。LIVER()和委托()最好,如果它对你有用,为什么你不能接受它作为答案?
$(".cart_content").live(function(){    alert("Hello"); });
$('body').delegate('.cart_content','click',
    function(){
        alert('hello');
    });