2012-01-27 119 views
1

我有一种将图像添加到TD并将单击事件附加到图像的方法。我正在动态构建一行,并希望将TD图像列附加到我的行中。使用jQuery动态添加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永远不会与它相连的图像列。

回答

2

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

+1

谢谢!我有星期五的情况! – azamsharp 2012-01-27 16:42:09

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(); 
}); 
1

我想,那是因为你正试图.appendaddActionColumn这是null,因为你没有返回的函数值的结果。

尝试这样的事情在函数的末尾:

return $(td);