jQuery after()在1.8.3之后不起作用

jQuery after()在1.8.3之后不起作用,jquery,Jquery,根据这个代码 $( 'body' ) .append( $( '<div>' ) .html( 'foo' ) .after( $( '<span>' ) .html( 'bar' ) ) ) ; $(“正文”) .append($('') .html('foo') .之后($('') .html('bar') ) ) ; 对于jQuery1.8.3或更早版本,“bar”跨度被附加到DOM中;对于1.9.0或更高版本,只会添

根据这个代码

$( 'body' )
  .append( $( '<div>' )
    .html( 'foo' )
    .after( $( '<span>' )
      .html( 'bar' )
    )
  )
;
$(“正文”)
.append($('')
.html('foo')
.之后($('')
.html('bar')
)
)
;
对于jQuery1.8.3或更早版本,“bar”跨度被附加到DOM中;对于1.9.0或更高版本,只会添加'foo'div

我是否遗漏了什么,或者after()工作不正常

我也尝试过这种结构,如图所示,但我得到了相同的结果

$( '<div>' )
  .after( '<span>' )
  .html( 'foo' )
  .filter( 'span' )
    .html( 'bar' )
  .end()
  .appendTo( 'body' )
;
$(“”)
.在(“”)之后
.html('foo')
.filter('span')
.html('bar')
(完)
.appendTo('body')
;

字符串开头是否有空格?字符串的开头是否有空格?我认为它在较新版本中的工作方式是正确的。您正在追加div,而不是在其后面插入的元素。最有可能的是,它的旧行为被发现是一个bug并已修复。这里有一个相关的bug记录:@Jon其中没有任何额外的空格。如果您将div包装在另一个元素中,然后在创建span后同时选择div和span,您将得到原始结果。