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