我使用java脚本createElement()
创建我的Html元素。但我无法在JQuery中选择任何html元素 - $("p").on("click",function(){})
。它适用于$(document)
。我的JQuery脚本位于html页面正文的末尾。但是,在页面创建之后,在浏览器中检查了inspect元素时,html元素位于脚本之下。
我已经看到许多其他类似的问题,但没有一个有效。请帮我解决这个问题,我现在已经开展了几天的工作,而且我没有把它带到哪里。
答案 0 :(得分:8)
对于动态创建的元素,请使用:
$(document).on('click', 'p', function(){
console.log("clicked");
});
jsFiddle demo,显示在创建元素之前分配click事件。
答案 1 :(得分:0)
使用live
代替on
。
$("p").live("click",function(){}
修改强>
不推荐使用live
我们可以使用on
,而是使用您的文档,而不是元素。
使用:
$(document).on( 'click', '.someClass', doSomething);
而不是:
$('.someClassParent').on( 'click', '.someClass', doSomething);