我知道之前已经有类似标题的问题被问过,并且我看到了答案。
我在HTML中有一个ul元素:
<ul class="collection with-header"></ul>
在这个元素中,通过JavaScript动态添加li元素:
$('.collection').append('<li class="collection-item">'+'Hello'+'</li>');
现在,对于每个li元素,我想添加一个数字到它的class属性中,以唯一标识每个li元素,这样我就可以为它们分配不同的id属性。我的代码如下:
var j = 1;
$('.collection').append('<li class="collection-item"'+j+'>'+ 'Hello'+'</li>');
$('.collection-item'+j).attr("id",list[i].username);
j++;
当我尝试通过悬停事件获取li元素的id时:
$('.collection-item').hover(
function(){
var idd = $(this).attr('id');
console.log(idd);
}
);
控制台输出Undefined。
这个实现哪里出了问题?
编辑: list[i].username的值是正确的,它来自另一个文件,并且不会引起任何问题。