2013-11-21 64 views
0

我已經看到下面的代碼,這是對我有意思:jQuery html()返回什麼?

var target = $('#target'); 
target.html(target.html().replace(/h2/g,'h3')); 

我想知道的HTML()返回該元素的html內容,爲什麼它可以使用JavaScript字符串的.replace()方法?

+1

從你的代碼中它將用h3代替h2,你應該嘗試並檢查輸出 –

+0

你的代碼應該工作。你會得到什麼錯誤? –

回答

3

the documentation解釋的很清楚,使用任何參數調用它返回的HTML內容作爲字符串...(還有什麼會HTML的形式?)

順便說一句,而不是對嵌套調用的.html()內的另一個,做同樣的元素(一個或多個)上的替代品,你可以這樣做:

$("#target").html(function(i, h) { return h.replace(/h2/g, "h3"); }); 
+0

即使我們傳遞參數,它也會返回數組中的新html。 +1爲好的答案。 – Exception

+0

@Exception - 否,如果將參數傳遞給_.html()_(不管是字符串還是函數),它將返回它所調用的同一個jQuery對象。這不是一個數組,它是一個類似數組的對象,包含對DOM元素的引用,而不是html。 – nnnnnn

+0

是的,它返回使用'html()'的選擇器列表。我爲我的錯誤道歉。我得到了和你一樣的結果,但是看到返回的選擇器列表數組中的'html'我理解錯了。 – Exception

0

html可以獲取或設置對象的內容。 http://api.jquery.com/html/

外部調用使用內部無參數調用來設置內容,以檢索最初的html內容作爲其調用替換的字符串。