このコードを考えると...
$( 'body' )
.append( $( '<div>' )
.html( 'foo' )
.after( $( '<span>' )
.html( 'bar' )
)
)
;
jQuery 1.8.3 以前では、「バー」スパンが DOM に追加されます。1.9.0 以降では、'foo' div のみが追加されます。
何か足りないのですか、それとも after() が正しく機能していませんか?
jQuery のドキュメント ページに示されているように、この構造も試しましたが、同じ結果が得られました。
$( '<div>' )
.after( '<span>' )
.html( 'foo' )
.filter( 'span' )
.html( 'bar' )
.end()
.appendTo( 'body' )
;