使用jQuery动态添加TD

时间:2012-01-27 16:36:34

标签: jquery

我有一种方法可以将图像添加到TD并将click事件附加到图像上。我正在动态构建一行,并希望将TD图像列附加到我的行。

$("<tr></tr>").append(addActionColumn($("<td></td>")));

这是我的addActionColumn方法:

function addActionColumn(td) {



    var actionImage = document.createElement("img");
    $(actionImage).attr("src", "../Images/cross_red.JPG");

    // delete the row
    $(actionImage).click(function() {

        $(td).parent().remove();

     });


    $(td).append(actionImage);
}

由于某种原因,TR永远不会将图像列附加到它上面。

3 个答案:

答案 0 :(得分:2)

您的函数不会返回您创建的td元素。

答案 1 :(得分:1)

我会做这样的事情:

var td = $('<td />');
$('<img />').addClass('close-button').prop('src', '../Images/cross_red.JPG').appendTo(td);

$('<tr />').append(td).appendTo('#your_parent_element');

$('.close-button').on('click', function() {
  $(this).parent().remove();
});

答案 2 :(得分:1)

我认为这是因为你试图.append addActionColumn的结果为null,因为你没有在函数中返回一个值。

在函数结束时尝试这样的事情:

return $(td);