JQuery不能选择动态创建的html元素

JQuery can not select dynamically created html elements

本文关键字:html 元素 创建 动态 不能 选择 JQuery      更新时间:2023-09-26

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

我见过许多其他类似的问题,但没有一个有效。请帮我解决这个问题,我已经在这个问题上工作了几天了,它带我去哪里

对于动态创建的元素使用:

$(document).on('click', 'p', function(){
    console.log("clicked");
});

jsFiddle演示,显示在创建元素之前分配click事件。

live代替on

$("p").live("click",function(){}
编辑:

不赞成使用live,我们可以使用on ,但要从三个文档中工作,而不是从一个元素。

使用:

$(document).on( 'click', '.someClass', doSomething);

代替:

$('.someClassParent').on( 'click', '.someClass', doSomething);