关闭

JS获取节点的兄弟,父级,子级元素

281人阅读 评论(0) 收藏 举报

 

<div id="test"> 
<div></div> 
<div></div> 
</div> 
<script> 
function dom() { 
	var s= document.getElementById("test"); 
	del_ff(s); //清理空格 
	var chils= s.childNodes; //得到s的全部子节点 
	var par=s.parentNode; //得到s的父节点 
	var ns=s.nextSbiling; //获得s的下一个兄弟节点 
	var ps=s.previousSbiling; //得到s的上一个兄弟节点 
	var fc=s.firstChild; //获得s的第一个子节点 
	var lc=s.lastChile; //获得s的最后一个子节点 
} 
</script>

 

var b =document.getElementById("test").childNodes; 

此时b.length 在IE浏览器中没问题,其依旧等于2,但是在FF浏览器中则会使4,是因为FF把换行也当做一个元素了。 

所以,在此,我们就要做处理了,需遍历这些元素,把元素类型为空格而且是文本都删除。

function del_ff(elem){ 
	var elem_child = elem.childNodes; 
	for(var i=0; i<elem_child.length;i++){ 
		if(elem_child[i].nodeName == "#text" && !/\s/.test(elem_child.nodeValue)) 
		{
			elem.removeChild(elem_child) 
		} 
	} 
} 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:313857次
    • 积分:8753
    • 等级:
    • 排名:第2259名
    • 原创:1096篇
    • 转载:14篇
    • 译文:0篇
    • 评论:5条
    最新评论