Ответ 1
С IE 10 и выше вы можете использовать объект DOM Parser для синтаксического анализа DOM непосредственно из HTML.
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var paragraphs = doc.querySelectorAll('p');
var html = '<p>sup</p>'
Я хочу запустить document.querySelectorAll('p')
в этом тексте, не вставляя его в dom.
В jQuery вы можете сделать $(html).find('p')
Если это невозможно, то какой самый чистый способ сделать временную вставку, убедившись, что она ничего не мешает. то только запрос этого элемента. затем удалите его.
(я делаю запросы ajax и пытаюсь разобрать возвращенный html)
С IE 10 и выше вы можете использовать объект DOM Parser для синтаксического анализа DOM непосредственно из HTML.
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var paragraphs = doc.querySelectorAll('p');
Вы можете создать временный элемент, добавить html к нему и запустить querySelectorAll
var element = document.createElement('div');
element.insertAdjacentHTML('beforeend', '<p>sup</p>');
element.querySelectorAll('p')