removeChild的部分使用技巧

在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);
		}
	}
}

 

你可能感兴趣的:(remove)