javascript - 将对象传递给 append 元素上的 onclick

标签 javascript jquery append

我将几个 HTML 元素 append 到我的 DOM,并且需要将用于创建元素的对象传递给元素上的 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 函数?

最佳答案

在这种情况下最好使用 jQuery 创建该元素:

var element = $( '<li><a href="#">' + obj.name + '<br></a></li>' );
element.click(function(){
    showDetails(obj);
});
$('#list-canvas .elementList').append(element);

关于javascript - 将对象传递给 append 元素上的 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28832417/

相关文章:

javascript - css绑定(bind)中的自定义类名

jquery - xCode 7 更新破坏了 Cordova jQuery $.ajax() 调用

jquery - 互联网浏览器 :hover state becomes sticky when the target DOM element is moved in the DOM

python - 向 DataFrame 添加多行的有效方法

javascript - 来自 mysql 的 json 编码返回 null

Javascript Kriskowal Q JS promise 不起作用

javascript - Tic-Tac-Toe MiniMax 实现始终返回第一个空闲位置

javascript - 如何使用 javascript/jQuery 重写亚马逊成员(member)链接?

javascript - Firefox 中的 Jquery append 表单

mysql - 将两个垂直表格合并到一张水平表格上