Другие способы использования jQuery (html, [ownerdocument | props])?

#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().»