开发者社区> 问答> 正文

JavaScript中DOM1 API的一个疑问?

为什么获取ul子节点的个数为3,包含li节点及前后的空白字符;而获取document的子节点个数为2(包含一个文档声明节点、一个html节点),没包含空白字符,为什么一套API而表现不一致呢???

<!DOCTYPE html>  
<html lang="en">  
<head>  
 <meta charset="UTF-8">  
 <title>Title</title>  
</head>  
<body>  
 <ul id="ul_id">  
    <li></li> 
 </ul> 
 <script type="text/javascript">  
        console.info(document.getElementById('ul_id').childNodes.length)  // 3
        console.info(document.childNodes.length) // 2 
    </script>  
</body>  
</html>

展开
收起
问问小秘 2020-01-09 17:13:17 518 0
1 条回答
写回答
取消 提交回答
  • 因为换行符.

    这样取出来就只有一个子节点.

    文档规定就是这样

    Node.childNodes

    滑到下面备注部分:

    document 节点(文档节点)包含两个子节点: Doctype 声明和根节点。

    2020-01-09 17:14:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载