children与childNodes的区别

乍一看  感觉一样  平时用的时候也没怎么留意


其实区别还是有点儿大   


传言啊  这个 childNodes是正统属性   亲生的   

而这个children是野孩子   


这个野孩子比较随意   所以用它返回来的就只有DOM元素了  其他的文字啥的   都不返回   


而 childNodes比较讲究   事无巨细  都要返回来   


但是我还是觉得野孩子乖  洒脱啊   所以也获得了几乎所有浏览器的支持    如果你想要DOM节点  直接用野孩子就可以了   


感觉有点儿偏心啊


为啥偏心呢?


这个亲生娃儿childNodes心太细了   啥都给你返回来了  

下面我们就举个例子

首先是野孩子的结果



	
		
		
	
	
		
01
02
03
上面的结果只返回三个div   数组长度是3    换成childNodes也一样   因为没有文本元素啊  


但是别着急   换种写法 问题就出来了




	
		
		
	
	
		
01
02
03

不知道 有没有看出来上面两端代码的区别   我在那个father后面加了个空格   结果呢  

childNodes就返回来了四个长度的数组 ....好吧  很乖


还有更奇葩的



	
		
		
	
	
		
01
02
03

不知道各位看出区别来了没有  

我加了个换行符


结果又给我返回来了四个长度的数组   妈呀  换行也算啊  


如果你说我就想用亲儿子  但是呢  又不想让他返回换行元素  就只能按照下面这么来写



	
		
		
	
	
		
01
02
03

好吧   这还是我认识的DOM吗


算了  还是要私生子好了




你可能感兴趣的:(杂物间)