var html = '<p>sup</p>'
我想在该文本上运行document.querySelectorAll('p')
而不将其插入dom。
在jQuery中,您可以执行$(html).find('p')
如果不可能,最简单的方法是做一个临时插入,确保它不会干扰任何事情。然后只查询该元素。然后删除它。
(我正在执行ajax请求并尝试解析返回的html)
答案 0 :(得分:22)
使用IE 10及更高版本,您可以使用 DOM Parser object 直接从HTML解析DOM。
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var paragraphs = doc.querySelectorAll('p');
答案 1 :(得分:1)
您可以创建临时元素,向其添加html并运行querySelectorAll
var element = document.createElement('div');
element.insertAdjacentHTML('beforeend', '<p>sup</p>');
element.querySelectorAll('p')