0

我有一张这样的桌子:

<table>
    <tbody>
        <tr>
            <td width="50">
                <img title="Image1" 
                     src="images/image1.png" onclick="dosomething()">
            </td>
            <td width="50">
                <img title="Image2" src="images/image2.png" 
                     onclick="dosomethingelse()">
            </td>
        </tr>
    </tbody>
</table>

我想删除<td>包含 Image1 的。我知道在 jQuery 中我可以删除图像本身

$( "img[title='Image1']" ).remove();

但我想核对包含<td>及其宽度以及折叠表格,就好像该图像及其列从未存在一样......

有没有办法从 备份到包含元素$("img[title='Image1']")?还是我需要遍历整个表(可能很大)并搜索它?

4

6 回答 6

2

我会去

$("img[title='Image1']").closest('td').remove();

或像其他人提到的那样:

$("img[title='Image1']").parent().remove();
于 2013-03-01T19:14:59.853 回答
1

你可以做$("img[title='Image1']").parent().remove();。这将删除包含图像的单元格(假设图像始终是单元格的直接后代)。

于 2013-03-01T19:14:24.880 回答
1

.parent()应该这样做。

$("img[title='Image1']").parent().remove();

虽然我个人会在图像上打一个 ID 并使用:

var toremove = document.getElementById('imageid').parentNode;
toremove.parentNode.removeChild(toremove);
于 2013-03-01T19:14:30.760 回答
1

使用.parent()

$( "img[title='Image1']" ).parent().remove();

从文档:

.parent( [selector ] )
获取当前匹配元素集中每个元素的父元素,可选地由选择器过滤。

于 2013-03-01T19:14:30.770 回答
1
$( "img[title='Image1']" ).parent().remove();

这应该做你想要的..

于 2013-03-01T19:14:59.573 回答
1

这将根据单击的图像删除列。

$('table img').click(function() {
  $(this).closest('td').remove();
});
于 2013-03-01T19:17:20.167 回答