【发布时间】:2016-09-13 00:01:11
【问题描述】:
实际上,我在tbody 中使用了div 用于不同的dialog box。这就是我将div 放入tbody 的原因。但是我想知道单击时如何删除(删除)关联 div?在这里,我点击了表格进行了测试!
<?php
for($i=0;$i < 3;$i++){
?>
<table id="row_<?= $i ?>">
<tbody>
<tr><td>sdf</td><td>sdf</td></tr>
<tr><td>sdf</td><td>sdf</td></tr>
<tr><td>sdf</td><td>sdf</td></tr>
<tr><td>sdf</td><td>sdf</td></tr>
<div>Inder Div(Dialog)</div>
</tbody>
</table>
<?php
}
?>
<script type="text/javascript">
$("table").click(function(){
console.log($(this).attr('id')); // display table id
$(this).find("div").remove();//not working
$(this).closest("div").remove(); //not working
});
</script>
【问题讨论】:
-
无效标记。
-
您的 JS 不起作用,因为您的 HTML 无效。您不能将
div作为tbody的子代。如果您在 DOM 检查器中检查 div,您会发现它实际上是在 外部tbody渲染的,这就是find('div').remove()不起作用的原因。您的第一项工作是修复 HTML。 -
如果您必须将 div 作为表格的一部分 - 使用
<tr id="killme"><td colspan=2><div> ... </div></td></tr>- 然后您可以查找#killme并删除该行 - 效果相同 -
那么我应该为每个表中的对话框使用什么@RoryMcCrossan
-
您可以使用
div,只需将其放在table之前/之后,或者如果您必须将其放在表格中,则将其放在td中
标签: jquery html html-table