Я хочу взять строку, которая является законным HTML и извлекать из нее некоторые данные, основанные на тегах и их атрибутах. Я знаю, что это возможно с помощью jQuery и для этого есть несколько встроенных методов, но я пытаюсь использовать Angular, и я хочу избежать использования jQuery, если мне действительно не нужно. Угловая предоставляет для этого свой собственный набор функций?
Вы можете сделать это с помощью простого Javascript. Вот простой пример. Мы могли бы ответить гораздо более конкретно, если бы вы показали нам, что именно вы пытаетесь извлечь из строки HTML. Вот пример рабочего фрагмента, который показывает базовую концепцию:
var htmlStr = '<div><div class="item">Bear</div><div class="item">Wolf</div></div>';
var div = document.createElement("div");
div.innerHTML = htmlStr;
var items = div.querySelectorAll(".item");
for (var i = 0; i < items.length; i++) {
document.write(items[i].innerHTML + "<br>");
}
Угловое содержит подмножество jQuery, называемое jqLite, которое описано здесь. .find()
в jqLite ограничивается только поиском имен тегов, поэтому .querySelectorAll()
встроенный во все современные браузеры, в наши дни будет гораздо более способным.
.find()
в jqLite менее эффективен, чем querySelectorAll()
который в наши дни встроен в браузеры.