<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body> 
<ul id="action"> 
<li title="第一段文字">第一个</li> 
<li title="第二段文字">第二个</li> 
</ul> 
 </body>
 <script type="text/javascript">
  alert(document.getElementById('action').childNodes[0].tagName)
 </script> 
</html>
是action下的第一个子节点  可能是li  也可能是li前边的空白  不同浏览器不同

解决方案 »

  1.   

    childNodes[0]可能是个文本节点,也可能是元素节点(非IE浏览器会把换行符当做一个文本节点,我曾在在IE的某个版本测,具体版本不记得了,只有在表单对象后的换行符,IE才会把它当做文本节点,具体的你还是需要测试一下)但是一定不是id为action的对象,需要你用nodeType判断
      

  2.   

    不是。如果一个节点没有子节点,它的childNodes会是null,取childNodes[0]会报错.PS:一些浏览器设置会把代码换行当作一个空文本的文本字符节点
      

  3.   

    新人遇到同样的困惑了,用W3Cschool的方法加载XML,FF能加载,IE不行,加载完了解析,用var frame = xmlDoc.documentElement.getElementsByTagName("XXX").childNodes;得到的节点数组里面的子节点都是文本节点,而且内容都是空的,忽然看到本帖,若有所悟,应该换浏览器,可是搜狗的,谷歌的都不好使……纠结中,请大神指点迷津,刷新等待中……