一尘不染

用JS解析HTML字符串

javascript

我搜索了一个解决方案,但没有任何意义,所以这是我的问题:

我想解析一个包含HTML文本的字符串。我想用JavaScript做。

我尝试了这个库,但似乎它解析了当前页面的HTML,而不是字符串。因为当我尝试下面的代码时,它更改了页面的标题:

var parser = new HTMLtoDOM("<html><head><title>titleTest</title></head><body><a href='test0'>test01</a><a href='test1'>test02</a><a href='test2'>test03</a></body></html>", document);

我的目标是从读取的HTML外部页面中提取链接,就像读取字符串一样。

您知道执行此操作的API吗?


阅读 599

收藏
2020-04-25

共1个答案

一尘不染

创建一个虚拟DOM元素并将字符串添加到其中。然后,您可以像处理任何DOM元素一样操作它。

var el = document.createElement( 'html' );
el.innerHTML = "<html><head><title>titleTest</title></head><body><a href='test0'>test01</a><a href='test1'>test02</a><a href='test2'>test03</a></body></html>";

el.getElementsByTagName( 'a' ); // Live NodeList of your anchor elements

编辑:添加jQuery的答案,以取悦粉丝!

var el = $( '<div></div>' );
el.html("<html><head><title>titleTest</title></head><body><a href='test0'>test01</a><a href='test1'>test02</a><a href='test2'>test03</a></body></html>");

$('a', el) // All the anchor elements
2020-04-25