Перемещайтесь по «DOM» строки, как если бы она была HTML с AngularJS

0

Я хочу взять строку, которая является законным HTML и извлекать из нее некоторые данные, основанные на тегах и их атрибутах. Я знаю, что это возможно с помощью jQuery и для этого есть несколько встроенных методов, но я пытаюсь использовать Angular, и я хочу избежать использования jQuery, если мне действительно не нужно. Угловая предоставляет для этого свой собственный набор функций?

  • 0
    Пожалуйста, будьте более конкретны. Покажите нам точно, что такое строка HTML и что вы хотите извлечь из нее. Это даже можно сделать с помощью простого Javascript, но мы можем ответить намного эффективнее, если вы покажете нам, какую именно проблему вы пытаетесь решить, вместо того, чтобы описывать все возможные вещи, которые вы можете извлечь из строки HTML.
  • 0
    Строка - это веб-страница с моего сервера, которую я получаю с помощью AJAX, то есть большой толстый длинный HTML-файл.
Показать ещё 2 комментария

1 ответ

1
Лучший ответ

Вы можете сделать это с помощью простого 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() встроенный во все современные браузеры, в наши дни будет гораздо более способным.

  • 0
    Предоставляет ли Angular собственный набор функций для этого?
  • 0
    @Bluefire - Angular содержит подмножество jQuery, называемое jqLite, описанное здесь . .find() в jqLite менее эффективен, чем querySelectorAll() который в наши дни встроен в браузеры.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню