«

如何用JS解析HTML字符串?

emer 发布于 2020-5-14 10:23   1643 次阅读     


parser=new DOMParser(); htmlDoc=parser.parseFromString(txt, "text/html"); //Do whatever you want with htmlDoc.getElementsByTagName('a');

根据MDN,要在Chrome中这样做,如下所示:

parser=new DOMParser(); htmlDoc=parser.parseFromString(txt, "text/xml"); //Do whatever you want with htmlDoc.getElementsByTagName('a');



或者

创建一个虚拟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