我有一张这样的表:
<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>
我想删除包含Image1的<td>
。我知道在jQuery中我可以用
$( "img[title='Image1']" ).remove();
但是我想要修改包含<td>
及其宽度以折叠表格,好像该图像及其列从未出现过......
有没有办法从$("img[title='Image1']")
备份到包含元素?或者我是否需要遍历整个表格(可能很大)并搜索这个?
答案 0 :(得分:2)
我会选择
$("img[title='Image1']").closest('td').remove();
或者像其他人一样提到:
$("img[title='Image1']").parent().remove();
答案 1 :(得分:1)
你可以做$("img[title='Image1']").parent().remove();
。这将删除包含图像的单元格(假设图像始终是单元格的直接后代)。
答案 2 :(得分:1)
.parent()
应该这样做。
$("img[title='Image1']").parent().remove();
虽然我亲自在图像上拍了一张ID并使用:
var toremove = document.getElementById('imageid').parentNode;
toremove.parentNode.removeChild(toremove);
答案 3 :(得分:1)
使用.parent()
:
$( "img[title='Image1']" ).parent().remove();
来自文档:
.parent([selector])
获取当前匹配元素集中每个元素的父元素,可选择通过选择器进行过滤。
答案 4 :(得分:1)
$( "img[title='Image1']" ).parent().remove();
这应该做你想要的......
答案 5 :(得分:1)
这将根据点击的图像删除列。
$('table img').click(function() {
$(this).closest('td').remove();
});