js和jquery获取父级元素、子级元素、兄弟元素的方法

<script type="text/javascript">
 	
 	//JS解决
 	var dom=document.getElementById("dom");
 	//为了避免ff出现的问题,因此对子元素进行过滤处理
 	del_space(dom);
 	//1.获取dom下的所有子节点
 	var a = dom.childNodes;//全部子节点;
       	var b = dom.parentNode;//父节点;
       	var e = dom.firstChild;//第一个子节点
       	var f = dom.lastChild;//最后一个子节点
       	
       	//不知何原因,待日后研究 下一个兄弟节点和上一个兄弟节点都无法获取的到...--!
       	var c = dom.nextSbiling.nodeType;//下一个兄弟节点
       	var d = dom.previousSbiling;//上一个兄弟节点
      	
      	//jQuery解决
 		var a1 = $("#dom").children();//全部子节点;
       	var b2 = $("#dom").parent();//父节点;
       	var c3 = $("#dom").next();//下一个兄弟节点
       	var d4 = $("#dom").prev();//上一个兄弟节点
      	var e5 = $("#dom").children(":first");//第一个子节点
       	var f6 = $("#dom").children(":last");//最后一个子节点
 		
 		/*
 		alert(a.length);
 		for(var i=0;i<a.length;i++){
 			alert(a[i].nodeName+":"+a[i].nodeValue+":"+/\s/.test(a[i].nodeValue));
 		}
 		*/
 		
 	//ff下面会默认将你的换行当作dom元素,因此必须进行过滤处理,IE下不会产生类似问题
 	function del_space(elem){
 	 	var elem_child = elem.childNodes;//得到参数元素的所有子元素
 		for ( var i = 0; i < elem_child.length; i++) { //遍历子元素
 				if (elem_child[i].nodeName == "#text") {
 					elem.removeChild(elem_child[i]);
 				}
 		}
 	}
 		
 		
 </script>

你可能感兴趣的:(js和jquery获取父级元素、子级元素、兄弟元素的方法)