Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取onclick中动态添加元素的id_Javascript_Jquery_Html - Fatal编程技术网

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

Javascript 获取onclick中动态添加元素的id,javascript,jquery,html,Javascript,Jquery,Html,有一个函数是在文档准备就绪时在页面上创建html元素的。我必须在该元素上创建onclick()事件,并在其中使用元素id 我的代码是: $('document').ready(function(){ addNewElementToContainer(); }); function addNewElementToContainer(){ $("#myContainer").append('<div onclick="myClickEvent(this.id)" value="1"

有一个函数是在文档准备就绪时在页面上创建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);
}

上下文“this”未设置属性id

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

$('document').ready(函数(){
addNewElementToContainer();
});
函数addNewElementToContainer(){
$(“#myContainer”).append('Click me');
}
函数myClickEvent(id,obj){
警报(“ID:+ID”);
val=obj.getAttribute('data-value');
警报(val);
}


它起作用了!还有什么方法可以获得元素值吗

是的,例如jquery


$(this.attr('value')

我觉得你没有给我们完整的代码。因为它与你在这里发布的内容无关。@Talg123我添加了整个html文件我不确定它应该是什么myClickEvent(this.id)你认为“this.id”会给你什么?它很有效!有什么方法可以同时获得元素
吗?是的,我现在也用value编辑了同一篇文章。请查收。为此,您可以在div中使用“datavalue”元素并传递对象,然后从中获取它。
<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>