在 JavaScript 中解析 HTML
HTML 或超文本标记语言使 Web 用户能够使用元素、标签和属性创建和构造部分、段落和链接。
这篇文章将教授如何使用 JavaScript 解析 HTML 内容。
在 JavaScript 中使用 innerHTML
解析 HTML
在 HTML 文档中,document.createElement()
方法创建由 tagName
指定的 HTML 元素,如果 tagName
无法识别,则创建 HTMLUnknownElement
。
语法:
let element = document.createElement(tagName[, options]);
tagName
是指定要创建的项目类型的字符串。创建的元素的节点名称用 tagName
的值初始化。
请勿在此方法中使用限定名称(例如 html:a
)。在 HTML 文档中,createElement()
在创建元素之前将 tagName
转换为小写。
例如,一个 HTML 字符串被传递到你的服务器,并且你想要呈现内容。我们必须创建一个虚拟 DOM 并将 HTML 字符串传递给新创建的 DOM 元素的内部 HTML。
这将为你提供 DOM 的活动节点,你可以使用任何方法访问它们,例如 getElementsByTagName
、getElementsById
等。
var el = document.createElement('html');
el.innerHTML =
'<html><head><title>titleTest</title></head><body><p>Hello World!</p></body></html>';
console.log(el.getElementsByTagName('p').length)
输出:
1
在 JavaScript 中使用 DOMParser
解析 HTML
DOMParser
接口可以分析 DOM 文档中的 XML 或 HTML 源代码。你可以执行相反的过程并将 DOM 树转换为 XML 或 HTML 源中的 XMLSerializer
接口。
对于 HTML 文档,你还可以通过设置 Element.innerHTML
和 outerHTML
属性的值,将 DOM 部分替换为由 HTML 创建的新 DOM 树。
例如,一个 HTML 字符串被传递到你的服务器,并且你想要呈现内容。我们必须首先使用构造函数创建 DOMParser
对象。
创建对象后,调用 parseFromString
方法并输入和输出文档类型(创建一个虚拟 DOM)。
这将为你提供 DOM 的活动节点,你可以使用任何方法访问它们,例如 getElementsByTagName
、getElementsById
等。
例子:
var parser = new DOMParser();
var htmlDoc = parser.parseFromString(
'<html><head><title>titleTest</title></head><body><p>Hello World!</p></body></html>',
'text/html');
console.log(htmlDoc.getElementsByTagName('p').length)
输出:
1
相关文章
使用 JavaScript 加载外部 HTML 文件
发布时间:2024/03/20 浏览次数:133 分类:JavaScript
-
本文演示了如何使用 JavaScript 和 jQuery 加载外部 html 文件。
JavaScript 延迟后重定向页面
发布时间:2024/03/20 浏览次数:87 分类:JavaScript
-
本教程展示了如何使用 JavaScript 中的 setTimeout 方法在延迟后重定向页面。
在 JavaScript 中 use strict
发布时间:2024/03/20 浏览次数:56 分类:JavaScript
-
在本文中,学习 JavaScript 中的 use strict 特性。我们将通过不同的示例了解如何在 JavaScript 代码语句中创建和执行 use strict 关键字。
在 JavaScript 中更改输入值
发布时间:2024/03/20 浏览次数:69 分类:JavaScript
-
我们可以使用 JavaScript 中的 value 属性或 setAttribute() 函数更改输入值。
JavaScript 清除输入
发布时间:2024/03/20 浏览次数:125 分类:JavaScript
-
输入字段可以重置或与空值相关联。onfocus 属性可以触发一个函数,起到清除输入的作用。此外,使用 value 属性获取输入条目和清除输入的 reset 方法非常容易掌握。