$ fn.insertAfter () и $ fn.after () Jquery - PullRequest
2 голосов
/ 11 февраля 2011

Я понимаю, что $fn.insertAfter() используется для вставки элемента после элемента, указанного в качестве аргумента. Чем $fn.after() отличается от этого?

Ответы [ 4 ]

4 голосов
/ 11 февраля 2011

$.fn.after() help вставляет элемент после элемента target , для которого вы его называете.

$('div').after('<div>new div</div>');

, тогда как,$.fn.insertAfter вставляет элемент target после указанного вами узла:

$('<div>new div</div>').insertAfter($('#someid'));

Последний является наиболее предпочтительным, поскольку вы сохраняете ссылается на вновь созданный элемент и может связать с ним несколько методов.Так, например:

$('<div>new div</div>')
   .insertAfter($('#someid'))
   .attr('foo', 'bar')
   .css({
      'background-color': 'red'
   });

возможно.Вы не можете сделать это с помощью .after() help .То же самое относится к .append() справке / .appendTo() справке и .insertBefore() справке / .before() справка

2 голосов
/ 11 февраля 2011

Это пример того же, разница в контексте селектора. insertAfter вставляет выбранный элемент после параметра after вставляет параметр после выбранного элемента.

$('<div id="foo"></div>').insertAfter('#bar');
$('#bar').after('<div id="foo"></div>');
1 голос
/ 11 февраля 2011

Цитирование прямо из документации:

Методы .after() и .insertAfter() выполняют ту же задачу.Основное различие заключается в синтаксисе , а именно в размещении контента и цели.При .after() выражение выбора, предшествующее методу, является контейнером, после которого вставляется содержимое.С .insertAfter(), с другой стороны, контент предшествует методу либо как выражение селектора, либо как разметка, созданная на лету, и он вставляется после целевого контейнера.

0 голосов
/ 11 февраля 2011

В этом упоминается, что они выполняют одну и ту же задачу, но имеют другой синтаксис.

...