После () и Insertafter () оба добавляют элемент, главное изменение произойдет для цепочки
В after()
вы добавляете новый элемент после вашего селектора, а затем, если вы используете цепочку для элемента, тогда любая функция, которую вы использовали, сработает на selector
, а не на вновь добавленном элементе, и будет выполнено обратное. в insertAfter()
, в котором сцепление будет выполнено для вновь добавленного элемента, например,
После () и InsertAfter ()
HTML
<div class="after">After Div</div>
------------------------------------------------------
<div class="insertafter">Insert after div</div>
SCRIPT
var p='<p>Lorem ipsum doner inut..</p>';
$('.after').after(p)//chaining, performed on .after div not on p
.css('backgroundColor','pink');
//you can chain more functions for .after here
$(p).insertAfter('.insertafter')//chaining, performed on p not on .insertafter div
.css('backgroundColor','yellow');
// here you can chain more functions for newly added element(p)
См. Выше selector
и contents
меняются в обеих функциях. То же самое относится к списку следующего:
- before () против insertBefore ()
- append () против appendTo ()
- prepend () против prependTo ()
- и after () против insertAfter (), очевидно.
Демонстрационная версия
Если вы хотите увидеть и то, и другое, то производительность after()
выше, чем insertAfter()
См. after-vs-inserttafter-performance .