bp946 发表于 2020-7-11 16:28

如果获取javascript动态生成的元素?

比如动态生成了一个元素,并且绑定了click事件
如果获取这个动态生成的元素并click?

jquery目标语句:$('动态生成的元素').click(),正常这样是不行的

kof21411 发表于 2020-7-11 16:41

$('动态生成的元素').click()是可以的,但一定紧跟着动态元素创建之后添加

yzqhj 发表于 2020-7-11 16:45

楼主    $("动态生成的元素").live("click",function(){
})
      

bp946 发表于 2020-7-11 16:51

kof21411 发表于 2020-7-11 16:41
$('动态生成的元素').click()是可以的,但一定紧跟着动态元素创建之后添加

我在浏览器控制台已经timeout了几秒,html已经显示了,还是获取不到元素,这是哪里的问题?

yzqhj 发表于 2020-7-11 16:51

新版本    $('动态元素父级元素名').on('click', '动态元素名', function(){
})

kof21411 发表于 2020-7-11 16:54

bp946 发表于 2020-7-11 16:51
我在浏览器控制台已经timeout了几秒,html已经显示了,还是获取不到元素,这是哪里的问题?

那你还是用 jQuery 1.7+
$("动态生成的元素上元素").on('click', "动态生成的元素", function(){

})

bp946 发表于 2020-7-11 16:57

kof21411 发表于 2020-7-11 16:54
那你还是用 jQuery 1.7+
$("动态生成的元素上元素").on('click', "动态生成的元素", function(){



会覆盖原来动态生成元素绑定的click吗?

这个绑定的元素是动态生成元素的子元素,这个方法该怎么写?

bp946 发表于 2020-7-11 16:59

yzqhj 发表于 2020-7-11 16:51
新版本    $('动态元素父级元素名').on('click', '动态元素名', function(){
})

动态生成的元素,父元素为body,会覆盖动态生成时绑定的click吗?

kof21411 发表于 2020-7-11 17:13

bp946 发表于 2020-7-11 16:59
动态生成的元素,父元素为body,会覆盖动态生成时绑定的click吗?

<html><head><script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js"></script>

</head><body><div class="test">
        <button class="new" id="newon">NewOn</button>
        <ul class="li">
               
        </ul>
</div><script>$("#newon").click(function(){
        $(".li").append('<li>动态添加的HTML元素on<button class="deleteon">Delete</button></li>');
});


$(".li").on('click', ".deleteon", function(){
        $(this).parent().remove();
})
</script></body></html>

yzqhj 发表于 2020-7-11 17:13

bp946 发表于 2020-7-11 16:59
动态生成的元素,父元素为body,会覆盖动态生成时绑定的click吗?

你在body上创建点击事件??
页: [1] 2
查看完整版本: 如果获取javascript动态生成的元素?