| 
			 
					阅读:6247回复:6
				 
				对firefox下javascript解析dom的疑惑
					对于以下的一段代码:
 
							<ul id="ulTest">
<li></li>
<li></li>
</ul>
<script language="javascript">
alert(document.getElementById("ulTest").childNodes.length);
</script>
在ie下显示为2,firefox下显示为5,显然ie下的结果应该是我们想要的,但不知道firefox下为何要这么解析呢。 经过反复测试,发现在firefox下,每两个结点之间都被认为有一个textNode类型的结点,这给编程带来了很大的问题,使得无法通过索引来一致性的访问子结点。 不知道大家是否遇到过这个问题,如何解决?  | 
	|
| 
			 1楼# 
								发布于:2005-10-21 20:46				
			
					这个在我以前的一篇帖子内有人提到:
 
							将 IE 的 preserveWhiteSpace 设为 true  | 
	|
					
						
  | 
	
| 
			 2楼# 
								发布于:2005-10-21 20:46				
			
					这样写就一致了
 
							<ul id="ulTest" 
><li></li 
><li></li
></ul> 
<script language="javascript"> 
alert(document.getElementById("ulTest").childNodes.length); 
</script><script>				 | 
	|
| 
			 3楼# 
								发布于:2005-10-21 20:46				
			 | 
	|
					
						
  | 
	
| 
			 4楼# 
								发布于:2005-10-21 20:46				
			
					要不判断child的nodeName是不是li				 
							 | 
	|
| 
			 5楼# 
								发布于:2005-10-21 20:46				
			
					写成一行,而且标签间没空格时就一致了:
 
							<ul><li>AAA</li><li>BBB</li></ul> 写成这样,标签与标签之间至少有一个回车符。 <ul> <li>AAA</li> <li>BBB</li> <ul>  | 
	|
| 
			 6楼# 
								发布于:2005-10-21 20:46				
			
					难怪看一些帮助文档都是这样的。
 
							><xx fdfds ><fdsfds 明白了。  | 
	|