Javascript 如何访问动态创建的元素的属性?

Javascript 如何访问动态创建的元素的属性?,javascript,jquery,html,Javascript,Jquery,Html,我试图获取存储在已添加到DOM的动态创建元素的属性中的数据 单击按钮时,会发出一个AJAX调用,返回一组对象。然后,使用Javascript/JQuery为每个返回的对象添加新的HTML元素,并将它们的属性值添加到元素的属性中。然后,我将向这些动态创建的元素中的每一个添加一个单击侦听器。单击时,我希望获取这些属性中的值 此时,id值存在,但name的值是未定义的 例如,给定以下HTML: 来自服务器的Json响应: [ { "id": 16, "name": "eeeee

我试图获取存储在已添加到DOM的动态创建元素的属性中的数据

单击按钮时,会发出一个AJAX调用,返回一组对象。然后,使用Javascript/JQuery为每个返回的对象添加新的HTML元素,并将它们的属性值添加到元素的属性中。然后,我将向这些动态创建的元素中的每一个添加一个单击侦听器。单击时,我希望获取这些属性中的值

此时,
id
值存在,但
name
的值是
未定义的

例如,给定以下HTML:


来自服务器的Json响应:

[
  {
    "id": 16,
    "name": "eeeee",
  },
  {
    "id": 17,
    "name": "MIT Top New"
  }
]
$(文档).ready(函数(){
$(“#按钮”)。单击(函数(){
var id=$(this.attr('id');
var posting=$.post(“/get/objects”{
id:id
});
过帐.完成(功能(数据){
var objectsWrapper=$(“#对象包装器”);
objectsWrapper.empty();
如果(data.length==0){
$(objectsWrapper.html('未找到任何对象…');
}否则{
$(objectsWrapper.empty();
对于(i=0;i.find()
来查找DOM中带有选择器的元素并使其工作

下面是一个包含您的数据的示例

var数据=[
{
“id”:16,
“名称”:“eeeee”,
},
{
“id”:17,
“名称”:“麻省理工学院最新排名”
}
];
data.forEach(e=>{
$(“#对象包装器”).append(`

`) }); $(“#按钮”)。单击(函数(){ $(“#对象包装器”).find(“a”).each(函数(){ console.log($(this.attr(“name”)) }) })


您是否尝试将其移出函数?$(this).attr('id');这找不到任何内容。它指向的对象内部有一个具有该id的对象。使用find将内部设置为find。若要添加@dantehesmith所说的内容,请使用
append()将
a
添加到
div
,或者类似的,如果您只想让锚点而不是
div
来处理单击,那么它应该可以工作。var name=$(object)。find(“a”).attr(“name”)就可以了。您正在尝试使用此关键字。尝试使用object变量itself@patilprashant6792这有效了。
$(This)。查找('a').attr('name');
。谢谢。
<a href="#" name="MIT Top New" description="MIT Top News" class="object-link" id="17">MIT Top New</a>