【发布时间】:2018-09-04 00:54:56
【问题描述】:
我有以下 HTML 代码,我将其转换为文档对象,然后使用 serializeToString() 再次转换为字符串:
let html = `<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>Hello
</body>
</html>`;
let newHTMLDocument = new DOMParser().parseFromString( html, 'text/html' );
let head = new XMLSerializer().serializeToString(newHTMLDocument.head);
console.log(head);
为什么 head 包含:
<head xmlns="http://www.w3.org/1999/xhtml">
<title>Title</title>
</head>
如您所见, xmlns="http://www.w3.org/1999/xhtml" 不在原始字符串中,那么为什么 serializeToString() 将其添加到我的 head 标签中,我该如何停止这样做的函数,所以 head 变量包含这个:
<head>
<title>Title</title>
</head>
【问题讨论】:
-
我假设的 DOM 解析器。它只是在解析时更正 HTML。如果您将 HTML 类型更改为 HTML5
<!DOCTYPE HTML>,我几乎可以向您保证,它不会那样做。 -
@TyQ。它仍然这样做!我试过了。
标签: javascript object dom