我向DOM添加了几个HTML元素,需要将用于创建元素的对象传递给元素上的onclick函数。
我尝试了以下操作,但该对象始终引用最后一个而不是当前:
function addElementToList(obj){
var elementHTML = '<li><a href="#">';
elementHTML += obj.name + '<br>';
elementHTML += '</a></li>';
$('#list-canvas .elementList).append(elementHTML);
$(this).click(function(){
showDetails(obj);
})
}
如何将当前元素传递给onclick-function?
答案 0 :(得分:2)
在这种情况下,最好使用jQuery创建该元素:
var element = $( '<li><a href="#">' + obj.name + '<br></a></li>' );
element.click(function(){
showDetails(obj);
});
$('#list-canvas .elementList').append(element);