代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

jQuery foo.html(“<span>bar</span>”)没有更改foo[0],那么这是什么意思呢?

  •  1
  • nonopolarity  · 技术社区  · 14 年前

    使用jQuery,在Firebug中,如果逐个执行以下操作:

    foo = $('<div>foo</div>')
    
    foo[0]  // => <div>
    
    foo.html('<span>bar</span>')
    
    foo.html()  // => "<span>bar</span>"
    
    foo[0]  // => <div>
    
    $('body').prepend(foo)  // => shows bar at top of page
    

    foo.html() 显示 span ,但是 foo[0] 显示 div ... 为什么不一致?看来 foo 跨度 元素。不应该 显示 跨度 也?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Faisal    14 年前

    html() <div> <div><span>bar</span></div> . 所以,这不是特别奇怪的行为

        2
  •  1
  •   Rex M    14 年前

    div . 你可以设置它的内容 部门 是任何一种复杂的树,但它仍然只是一个元素。 html('')