[英]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.