JQuery无法选择动态创建的html元素

时间:2013-06-11 06:35:56

标签: javascript jquery html

我使用java脚本createElement()创建我的Html元素。但我无法在JQuery中选择任何html元素 - $("p").on("click",function(){})。它适用于$(document)。我的JQuery脚本位于html页面正文的末尾。但是,在页面创建之后,在浏览器中检查了inspect元素时,html元素位于脚本之下。

我已经看到许多其他类似的问题,但没有一个有效。请帮我解决这个问题,我现在已经开展了几天的工作,而且我没有把它带到哪里。

2 个答案:

答案 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);