繁体   English   中英

在onclick中获取动态添加元素的id

[英]Get id of dynamic added element in onclick

当文档准备好时,有一个函数在页面上创建一个html元素。 我必须在这些元素上创建onclick()事件并使用元素id。

我的代码是:

$('document').ready(function(){
    addNewElementToContainer();
});

function addNewElementToContainer(){
 $("#myContainer").append('<div onclick="myClickEvent(this.id)" value="1" >Click me</div>');
}

function myClickEvent(id){
    alert("ID: " + id);
}

id设置正确(在页面检查器上检查)但结果是错误的 - "ID: " 所以看起来id是空的。

怎么可能解决这个问题?

@UPDATE Html文件是:

<html lang="en">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    </head>

    <body>
        <div id="myContainer"><div>
    </body>

    <script>
        $('document').ready(function(){
            addNewElementToContainer();
        });
        function addNewElementToContainer(){
            $("#myContainer").append('<div onclick="myClickEvent(this.id)" value="1" >Click me</div>');
        }
        function myClickEvent(id){
            alert("ID: " + id);
        }
    </script>
</html>

只需为您的Html元素提供ID和值,如下所示:

 $('document').ready(function(){ addNewElementToContainer(); }); function addNewElementToContainer(){ $("#myContainer").append('<div onclick="myClickEvent(this.id, this)" id="id1" data-value="1" >Click me</div>'); } function myClickEvent(id, obj){ alert("ID: " + id); val = obj.getAttribute('data-value'); alert(val); } 
 <html lang="en"> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> <div id="myContainer"><div> </body> </script> </html> 

上下文“this”没有设置属性ID。

有用! 有没有办法获得元素值?

是的,例如用jquery

$(this).attr('value');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM