0

好的,所以我有一个表,其中包含单独的行或父行,其中有几个孩子链接到该父行。我有图标可以删除那个父亲或单个儿子。图标将显示一个模式弹出窗口(而不是警报)以确认删除。它有效,但我将不得不重复很多次。我认为这可以简化为查找 ID 或类,因为模态显示/隐藏以这种方式工作。提前致谢。

<script>
function delVesselAll(){
    $("#vessel_tab #father1").remove();
    $("#vessel_tab .son1").remove();
    document.getElementById(id).style.display = 'block';
};
function delVesselAll2(){
    $("#vessel_tab #father2").remove();
    $("#vessel_tab .son2").remove();
    document.getElementById(id).style.display = 'block';
};
</script>

还有我的html:

<td class="cell_50">
  <a style="text-decoration:none;" onclick="showModal('delAll1')"><img src="images/delete-row-icon1.png" title="Delete this row" height="12" width="12" class="father1Del" id="father1Del"/></a>
</td>
<div class="delModal" style="z-index:999999; margin-left:200px; margin-top:30px; display:none" id="delAll1">
  <img src="images/warning.png" />&nbsp;Are you sure you want to delete vessel and the corresponding tanks?<br />
  <input type="button" value="Cancel" class="hide" onclick="hideModal('delAll1')"/>
  <input type="button" value="Delete" onclick="delVesselAll()"/>
</div>

所以我基本上有很多行做同样的事情,可以有类或ID“father1”“father2”“son1”“son2”。另外,我希望这些 div 淡入淡出,$(this).fadeIn('slow'); 提前使用Thanks之类的东西。

4

1 回答 1

4

您可以传入变量(可能通过循环,尽管这取决于您的数字是如何生成的):

function delVesselAll(num){
    $("#vessel_tab #father" + num).remove();
    $("#vessel_tab .son" + num).remove();
    document.getElementById(id).style.display = 'block';
};

然后这样称呼它:

delVesselAll(1);
delVesselAll(2);

如果您的数字是可预测的和连续的,您可以循环遍历它们:

for (var i = 1; i < $("[id^='father']").length; i++) {
    delVesselAll(i);
}

如果不清楚,您可能需要查看本教程

于 2013-01-17T22:05:39.417 回答