Dlaczego jQuery .after () nie łańcuchuje nowego elementu?

Jestem ciekawa, dlaczego jQuery's .after () nie łączy ani nie „dostarcza ci” nowego elementu, który go tworzysz. Wydaje mi się, że tak powinno być, ale nie jestem ekspertem i miałem nadzieję, że ktoś rzuci trochę światła na to, dlaczego to zły pomysł. Oto przykład, aby zobaczyć, co chciałbym uzyskać od .after ():

Oto kilka znaczników:

<div id="content1">
    <p id="hello1">Hello</p>
</div>
<div id="content2">
    <p id="hello2">Hello</p>
</div>

Oto, czego chcę, ale zastępuje „Hello” słowem „World!”:

$('#hello1').after('<p />').text('World!');

To działa, ale z pewnością jest brzydkie:

$('#hello2').after('<p />');
var $newParagraph = $('#content2 p').last();
$newParagraph.text('World');

To milsze, ale nie jestem całkowicie sprzedany: (może powinienem być?)

$('#hello1').after( $('<p />').text('World') );

Zauważ, że jest to oczywiście uproszczony przykład, tzn. „<p> Świat! </p>” nie jest tym, co chcę dodać, mój rzeczywisty problem jest bardziej złożony.

Dzięki za wszelkie myśli.

questionAnswers(3)

yourAnswerToTheQuestion