我需要单击关闭img,然后删除img所在的所有列。
我正在尝试做这样的事情:
var colnum = $(this).closest("td").prevAll("td").html();
$(this).closest("table").find("tr td:eq(" + colnum + ")").remove();
但是,它不起作用。
编辑:GUYS,对于第一篇文章感到抱歉,我很快就打开了这个问题。 我编辑了一切。看看演示
html演示:New Demo
如果你们看到表中的红色东西,我需要在点击“关闭”时删除。 删除我点击的列。
答案 0 :(得分:1)
在你的示例演示中,实际应该关闭什么?...我稍微修改了它,关闭列消失了,但我不确定你还有什么期望被删除。
见这里:http://jsfiddle.net/gfosco/TdCYy/24/
问题出在嵌套表中...您想要从单元格父表父表中删除该列。
此处更新了示例:
答案 1 :(得分:0)
您应该能够使用第n个子选择器来获取第n列中的单元格,如下所示:
$(this).closest("table").find("tr td:nth-child(" + colnum + ")").remove();
答案 2 :(得分:-1)
点击此链接,我编辑了您的演示http://jsfiddle.net/TdCYy/39/
这是HTML不变,除了添加到第一个红色行的第一行类:
<table border='1' width='100%'>
<tr>
<td>Somthing 1</td>
<td>Somthing 2</td>
<td>Somthing 3</td>
<td>
<table border='1' style='border: solid red;' width='100%'>
<tr class="first-row">
<td colspan='2'>
Something
<span style='float: right' class='img_romove_columm'>Close</span>
</td>
</tr>
<tr>
<td>Another</td>
<td>Another 1</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>Result</td>
<td>Result</td>
<td>Result</td>
<td class='red'>Result</td>
</tr>
<tr>
<td>Result</td>
<td>Result</td>
<td>Result</td>
<td class='red'>Result</td>
</tr>
<tr>
<td>Result</td>
<td>Result</td>
<td>Result</td>
<td class='red'>Result</td>
</tr>
<tr>
<td>Result</td>
<td>Result</td>
<td>Result</td>
<td class='red'>Result</td>
</tr>
</table>
CSS未受影响。
Javascript应该是(这是有效的):
$(".img_romove_columm").click(function(){
// Hide the first row that has the close button, and also hide the row right after it (another, another1)
$('tr.first-row, tr.first-row + tr').hide();
// Hide everything that has the red class (result, result, result, result, )
$('td.red').hide();
});
这是你要找的吗?
答案 3 :(得分:-1)
这是我提出的一个例子。只需将同一个类(red
)应用于要消失的所有元素,包括嵌套表。然后你可以打电话
$('.red').hide();