1

如何通过单击同一行列中的图像来删除一行?

这是添加行的代码

function addrow() {
    var table = document.getElementById("tablelist");
    var row = table.insertRow(-1);
    var cells = new Array();
    for (var i = 0; i < 6; i++) {
        cells[i] = row.insertCell(i);
        cells[i].innerHTML = "New";
    }
    cells[6] = row.insertCell(6);
    cells[6].innerHTML = '<img id="pencil" src="images/pencil-black.png"></img><img id="lock" src="images/lock-black.png"></img><img id="bin" src="images/bin-black.png"></img>';
}

这是我的 jquery 代码,但它不起作用。

$(document).ready(function() {
    $(".userbox").on({
        mouseenter : function() {
            $(this).find('img').each(function() {
                $(this)
                .attr(
                    'src',
                    $(this).attr('src').replace('-black.png',
                                                '-white.png'));
            });
        },
        mouseleave : function() {
            $(this).find('img').each(function() {
                $(this)
                .attr(
                    'src',
                    $(this).attr('src').replace('-white.png',
                                                '-black.png'));
            });
        }
    }, 'tr');

    $("tr").on('tr', '.bin', function() {
        $(this).slideUp();
    });

});

注意:我知道这.slideUp()不会删除一行。

4

2 回答 2

3

id 在文档中必须是唯一的,因此需要将其更改为类属性

然后你需要使用委托事件注册

$('#tablelist').on('click', '.bin', function(){
    $(this).closest('tr').slideUp();
})

演示:小提琴

于 2013-06-28T08:31:57.937 回答
1
$('table').on('click', 'img', function() {
  $(this).closest('tr').remove();
});

ps the slideUp() animation doesn't work on tr elements

于 2013-06-28T08:42:14.373 回答