Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在node.js环境中规范网页中的html文档,例如tbody?_Javascript_Html_Node.js_Google Chrome - Fatal编程技术网

Javascript 如何在node.js环境中规范网页中的html文档,例如tbody?

Javascript 如何在node.js环境中规范网页中的html文档,例如tbody?,javascript,html,node.js,google-chrome,Javascript,Html,Node.js,Google Chrome,我从一个网站页面下载了一个页面,该页面有一个不带tbody的表标签,但我可以在chrome浏览器中看到tbody标签。显然html文档已经被chrome规范化了。我想使用一些npm包规范化网页文档,使其与chrome具有相同的效果 哪一个npm包可以做到这一点?谢谢。据我所知,没有这样的工具是有原因的 因为您所说的规范化对于HTML的有效性不是强制性的。THAD、tbody、tfoot不是必需的 但是为什么浏览器会这样做呢 添加它是因为构建DOM树需要它 以下是解析器的工作原理: 8.2.5.4

我从一个网站页面下载了一个页面,该页面有一个不带tbody的表标签,但我可以在chrome浏览器中看到tbody标签。显然html文档已经被chrome规范化了。我想使用一些npm包规范化网页文档,使其与chrome具有相同的效果


哪一个npm包可以做到这一点?谢谢。

据我所知,没有这样的工具是有原因的

因为您所说的规范化对于HTML的有效性不是强制性的。THAD、tbody、tfoot不是必需的

但是为什么浏览器会这样做呢

添加它是因为构建DOM树需要它

以下是解析器的工作原理:

8.2.5.4.9表格插入模式

一种起始标记,其标记名为:td、th、tr

插入一个HTML元素,用于不带 属性,然后将插入模式切换为“在表体中”

详情如下:

顺便说一句,一个非常简单的方法就是使用搜索和替换

搜索:

替换:

及之后:

搜索:

替换: