我正在使用clone方法动态创建行。在创建行时,我每次都以cloneObject111,cloneObject1110,cloneObject1111和cloneObject1112的形式为行分配了id字段。
其中id = cloneObject111表示父行,其余都是其子行。 因此,当我们第二次单击克隆按钮时,id字段将从cloneObject222开始,依此类推。
问题是,当我点击仅为父行(id = cloneObject111)分配的删除按钮时,我正在调用一个函数来删除父行及其子行。
以下是我的屏幕,以便更好地理解。
点击上面图片中的“ - ”符号,我调用函数removeChildRows(rowId)删除最后4行但是它没有用,请帮我写完这个完整的javascript函数。提前谢谢。
function removeChildRows(r){
console.log("Delete the Child Rows based on their Index"+r);
row=document.getElementById("tr[id^=cloneObject" + r +"]");
console.log(row);
}
答案 0 :(得分:0)
您正在创建一个以selector开头的属性值,由于方法名称不言自明,因此无法与document.getElementById()
一起使用。
使用字符串连接创建有效的ID,然后使用
row = document.getElementById("cloneObject" + r);
或,使用querySelector()
/ querySelectorAll()
row=document.querySelector("tr[id^=cloneObject" + r +"]");
要删除,只需调用remove()
方法
row.remove()
答案 1 :(得分:0)
不知何故,我使用以下代码。希望它可以帮助别人。
function removeChildRows(r){
console.log("Delete the Child Rows based on their Index"+r);
$("tr[id^=cloneObject" + r +"]").each(function(){
$(this).closest("tr").remove();
});
}