Por que o jQuery .after () não encadeia o novo elemento?
Eu estou curioso para saber por que o .after () do jQuery não encadeia, ou "fornece a você", o novo elemento que você cria com ele. Parece-me que deveria, mas não sou especialista e esperava que alguém pudesse lançar alguma luz sobre o motivo de ser uma má ideia. Aqui está um exemplo para ver o que eu gostaria de .after ():
Aqui está alguma marcação:
<div id="content1">
<p id="hello1">Hello</p>
</div>
<div id="content2">
<p id="hello2">Hello</p>
</div>
Aqui está o que eu quero, mas isso substitui "Olá" com "World!":
$('#hello1').after('<p />').text('World!');
Isso faz o trabalho, mas com certeza é feio:
$('#hello2').after('<p />');
var $newParagraph = $('#content2 p').last();
$newParagraph.text('World');
Isso é melhor, mas eu não estou totalmente vendido: (talvez eu deveria estar?)
$('#hello1').after( $('<p />').text('World') );
Note que este é obviamente um exemplo simplificado, isto é, "<p> Mundo! </ P>" não é o que eu quero adicionar, meu problema do mundo real é mais complexo que isso.
Obrigado por qualquer pensamento.