JQuery不能选择动态创建的html元素
JQuery can not select dynamically created html elements
我使用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);
相关文章:
- 如何设置html元素填充的动画
- 删除对HTML元素的拖动
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 一个html元素的克隆次数太多
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- 为什么我在Internet Explorer上看不到html元素
- 重新排列HTML元素的顺序并更改内容
- 使用.on动态添加jquery/js不知道的html元素
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何将html元素添加到tampermonkey中
- 访问html元素值javascript
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- 自定义HTML元素属性未显示-Web组件
- 让HTML元素充当停止滚动的锚点
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 替换HTML元素中的字符
- 如何将html元素添加为生成的内容
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 使用JS加载HTML元素