¿Por qué jQuery .after () no encadena el nuevo elemento?
Tengo curiosidad por la razón por la cual .after () de jQuery no encadena, o "le proporciona," el nuevo elemento que crea con él. Me parece que debería, pero no soy un experto y esperaba que alguien pudiera arrojar algo de luz sobre por qué es una mala idea. Aquí hay un ejemplo para ver lo que me gustaría de .after ():
Aquí hay un marcado:
<div id="content1">
<p id="hello1">Hello</p>
</div>
<div id="content2">
<p id="hello2">Hello</p>
</div>
Esto es lo que quiero, pero esto reemplaza "Hola" con "Mundo":
$('#hello1').after('<p />').text('World!');
Esto hace el trabajo, pero seguro que es feo:
$('#hello2').after('<p />');
var $newParagraph = $('#content2 p').last();
$newParagraph.text('World');
Esto es mejor, pero no estoy completamente vendido: (¿quizás debería serlo?)
$('#hello1').after( $('<p />').text('World') );
Tenga en cuenta que este es obviamente un ejemplo simplificado, es decir, "<p> World! </p>" no es lo que quiero agregar, mi problema del mundo real es más complejo que eso.
Gracias por cualquier pensamiento.