如何在文本字符串上执行document.querySelectorAll而不将其插入DOM

Far*_*her 17 javascript dom

var html = '<p>sup</p>'
Run Code Online (Sandbox Code Playgroud)

我希望document.querySelectorAll('p')在不将其插入dom的情况下运行该文本.

在jQuery中你可以做到 $(html).find('p')

如果不可能,最简单的方法是做一个临时插入,确保它不会干扰任何事情.然后只查询该元素.然后删除它.

(我正在执行ajax请求并尝试解析返回的html)

Mad*_*iha 24

使用IE 10及更高版本,您可以使用DOM Parser对象直接从HTML解析DOM.

var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var paragraphs = doc.querySelectorAll('p');
Run Code Online (Sandbox Code Playgroud)