是否可以获取根HTML标记,而不仅仅是正文节点?

时间:2016-12-18 09:34:52

标签: javascript dom

在以下两个示例中,speechTextString最终都包含整个文档中的文本,包括BODY标记之外的文本。

示例1:

r = document.body;
speechTextString = r.innerText;

示例2:

r = document.getElementsByTagName("BODY").item(0);
speechTextString = r.innerText;

是否可以获取根HTML标记,而不仅仅是body元素?

1 个答案:

答案 0 :(得分:1)

  

BODY标签之外的文字

假设您没有谈论<head>元素的内容:

您无法在<body>元素之外添加文字。 HTML不允许它。浏览器执行错误恢复,并在将(无效)HTML解析为DOM时将其移动到<body>元素内。

如果要处理包含该错误的文档,则需要获取原始源代码(例如使用XMLHttpRequest),然后为其编写自定义解析器。