使用JavaScript删除节点

时间:2014-08-31 13:00:32

标签: javascript html

我试图在点击按钮时删除一行。它工作正常,除非我在一张桌子里。我的JSP在表中有50行的组合,之后我们将表嵌套。现在,我的问题是如果我想删除上一个表中的最后一行,我应该怎么做?

我也附上了UI和调试器HTML视图的屏幕截图。任何建议都会有所帮助。

[DROW]这里是我们有树结构的不同行。我们需要先爬到每一行,然后向下移动到lastChild以删除最后一行。

  

只有我的previousRow包含最后一行val,才能在此处执行此操作。我无法理解它。

function removeAnotherResponse(arg0, data, response, request){

// Make sure the response has everything we need
if(arguments==null || arguments.length<4  || !request.content || request.content==null || !request.content.groupUniqueId || request.content.groupUniqueId==null){
    return;
}

// Check for true response
if(!data || data==null || !data[0] || !data[0].removedSuccess || data[0].removedSuccess!=true){
    return;
}

var groupUniqueId=request.content.groupUniqueId;

// Get the add another button row and add the new row before it.
var addAnotherRow=document.getElementById("ADD_"+groupUniqueId);
if(addAnotherRow==null) return;

    var previousRow=document.getElementById("ADD_"+groupUniqueId).previousSibling;  
    addAnotherRow.parentNode.removeChild(previousRow);



showOrHideAddRemoveButtons(groupUniqueId, data[0].removeButton, data[0].addButton);
updateSectionCount(groupUniqueId, false);
getPortCount(groupUniqueId);

}

2 个答案:

答案 0 :(得分:2)

您发布的HTML片段似乎存在一些问题(ID重复,使用<tr>作为其他<tr>的父级)。我仍然尝试回答你的主要问题如何删除表格的行。您可以使用DOM deleteRow对象的table方法。 rows集合可用于访问现有行,deleteRowinsertRow允许您修改表格。

答案 1 :(得分:0)

感谢大家建议我更正HTML代码。

UI元素确实以其他方式为我创造了一个问题。现在,我没有创建新的,而是找到了处理这个的其他方法,我的HTML代码变得更简单了。 PFB脚本发生了变化。感谢所有的建议:)

if (document.getElementById("ID" + gID) != null) {

    innerElement = document.getElementById("ID_TD_" + gID);
    innerElement.innerHTML = innerElement.innerHTML + responseHTML;

} else {

    innerElement = document.createElement("td");
    innerElement.setAttribute("id", "ID_TD_" + gID);

    newElement.appendChild(innerElement);
    innerElement.innerHTML = responseHTML;

}