JQuery html()方法使用一些誤區。

最近我在處理一個比較複雜的DOM控制的業務的時候發現html()這個方法的一些領我有些不解的地方。html

1.html() 獲取的是第一個匹配的元素的內容,不包括它本身。app


2.若是須要獲取包括元素本身自己的html的話,請使用prop("outerHTML"),如:dom

$("div").prop("outerHTML"); //這個的返回值會包含div本身自己以及之內的全部html代碼。htm


3.假如你使用了一個很複雜的DOM操做,例如使用了clone(),find(),之類的操做,你會發現,當你想修改這些標籤內的內容時對象

如:文檔

$(dom).clone().find(children).html("<p>hello world</p>");方法

通過本人試驗,結果會把children中的內容清空,假如children是<div><p>haha</p></div>,那麼就會變成di

<div></div>。
標籤


第三點有待論證,歡迎大神過來指導下,爲何會出現這種狀況,目前我只能用文本重組裏面的內容,卻不能經過html(),append()...等文檔操做來重組內容。是否是由於克隆後,就不是文檔的一部分了,因此這些文檔操做對該dom對象所有都無效了?抱歉,我只能這麼想了......
大神

相關文章
相關標籤/搜索