在javascript中,可以使用removeChild删除一个对象的子元素。但如果是使用循环删除复合一定条件的子元素时,请使用逆序。
原因:正序时,删除一子元素时,后面的元素index可能会发生改变,造成删除出错or删除不净。
eg.
?
function removeInputElementsFromForm(formName,inputNamePre){
var formObj = eval("document."+formName);
var allInputElements = formObj.getElementsByTagName("input");
var len = allInputElements.length; //需要将giftTrs.length的length属性存储起来
for (var i=len-1;i >= 0;i--) {// 使用逆序,因为remove
var tagInput = allInputElements[i];
var tagInputName = tagInput.getAttribute("name");
if(tagInputName != null && tagInputName.startWith(inputNamePre)){
formObj.removeChild(tagInput);
}
}
}
?