#jquery
#jquery
Вопрос:
В jquery, помимо использования $(selector)
синтаксиса, также есть синтаксис, который показан для использования как $("<p>someHTML</p>")
. Теперь единственные примеры такого использования, которые я могу найти, находятся с appendTo
.
Я уверен, что есть и другие замечательные варианты использования этой функции, но я не могу найти никакой документации по ней или примеров реализации.
Однако не похоже, что я могу запустить .find() поверх него, но, возможно, я что-то неправильно настроил при попытке.
Ответ №1:
Это способ обернуть html в объект jQuery для дальнейшего использования. Очень удобно. И да, вы можете запустить find
над ним.
$("<div><p>First</p><p>Second</p></div>").find("p").each(function(i) {
alert((i 1) " - " $(this).text());
});
Комментарии:
1. Просто для упоминания. Это потенциально может избежать ненужной сложности. Вместо того, чтобы выполнять множество операций DOM над всем документом, вы выполняете их небольшими фрагментами, а затем добавляете все сразу (нет, я не указываю на какие-либо ошибочные микро-тесты).
2. Теперь я читал документ, и там что-то говорилось об использовании встроенных функций js для навигации, таких как innerHTML, означает ли это, что он создает где-то скрытый контейнер и работает из него?
3. Внутренне он должен каким-то образом создать DOM-дерево из вашей строки. Из официальных документов : «Если HTML является более сложным, чем один тег без атрибутов […], фактическое создание элементов обрабатывается механизмом innerHTML браузера. В большинстве случаев jQuery создает новый элемент <div> и присваивает свойству innerHTML элемента значение переданного фрагмента HTML. Когда параметр имеет единственный тег, такой как $(‘<img />’) или $(‘<a></a>’), jQuery создает элемент с помощью встроенной функции JavaScript createElement().»