jQuery имеет .after()
метод, и также .insertAfter()
метод.
Каково различие между ними? Я думаю, что могу использовать .after()
вставить элементы после выбранного элемента (или элементов). Это правильно? Что .insertAfter()
для?
Они взаимно противоположны.
' after ' вставляет аргумент после селектора.
' insertAfter ' вставляет селектор после Аргумент.
Вот пример того же самого:
$ ("Приветствую
ПриветДо свиданияТест
") .insertAfter (".inner"); Каждый внутренний элементполучает новое содержимое:Приветствую
ПриветТест
До свиданияТест
after ():
$ (".inner") .after ("Приветствую
ПриветДо свиданияТест
");Приветствую
ПриветТест
До свиданияТест
71ответ дан 26 November 2019 в 20:56поделиться
Они противоположны друг другу. Как объясняется в документации jQuery :
Это:
$("p").insertAfter("#foo");
То же самое, что и это:
$("#foo").after("p");
И, наконец, insertAfter возвращает все вставленные элементы, тогда как .after () вернет контекст, которым он является позвонил.
Пока все ответы ясны как грязь ;-) (Так что я тоже попробую!)
Если вы начнете с этого HTML:
<p id="pOne">Para 1</p>
<p id="pTwo">Para 2 <span id="sMore">More</span></p>
После того, как вставляет некоторое новое содержимое после соответствующих тегов:
$("p") // Match all paragraph tags
.after("<b>Hello</b>"); // Insert some new content after the matching tags
Конечный результат:
<p id="pOne">Para 1</p><b>Hello</b>
<p id="pTwo">Para 2 <span id="sMore">More</span></p><b>Hello</b>
С другой стороны, InsertAfter перемещает один или несколько элементов которые уже существуют в DOM после выбранных элементов ( На самом деле, этот метод можно назвать MoveAfter ):
$("#sMore") // Find the element with id `sMore`
.insertAfter("#pOne"); // Move it to paragraph one
Результат:
<p id="pOne">Para 1</p><span id="sMore">More</span>
<p id="pTwo">Para 2</p>
after (content) Возвращает: jQuery
Вставляет содержимое после каждого из совпадающих элементов.
insertAfter (selector) Возвращает: jQuery
Вставляет все совпавшие элементы после другого , указанный, набор элементов.