js删除一个父元素下面的所有子元素

JavaScript012

js删除一个父元素下面的所有子元素,第1张

以你的程序为例。

删除一个父元素下面的所有子元素:

document.getElementById("ok").innerHTML = ""

删除其中的一个:

document.getElementById("ok").remove(document.getElementById("ok").children(i))

//删除id为"ok"下的第i-1个子元素

两种方式:

第一种纯js,使用递归:

<script>

/*

*第一个参数为页面元素对象或者数组

*第二个参数为回调函数【回调函数默认传递一个函数,即当前对象】

*/

function Each(obj,fun){

if('function'!==typeof(fun) || !obj){

return false

}

if('undefined'!==typeof(obj.length)){

for(var i=0i<obj.lengthi++){

var o=obj[i]var r=fun(o)||true

if(r===true){

r=Each(o.children,fun)

if(!r) return false

}

}

}else{

var r=fun(obj)||true

if(r===true){

r=Each(obj.children,fun)

if(!r) return false

}

}

}

</script>

用法:

//

Each(document.getElementsByTagName("body"),function(obj){

if(obj.nodeName==="UL")//obj为当前遍历到的对象

return false//如果返回false就会停止遍历

alert(obj.nodeName)

})

第二种方法,使用jquery:

$("body *").each(function(i, obj){

alert( "Item #" + i + ": " + obj )

})