讀取、修改元素的html結構或者元素的文本內容是常見的DOM操作,jQuery針對這樣的處理提供了2個便捷的方法.html()與.text()
.html()方法
獲取集合中第一個匹配元素的HTML內容 或 設置每一個匹配元素的html內容,具體有3種用法:
- .html() 不傳入值,就是獲取集合中第一個匹配元素的HTML內容
- .html( htmlString ) 設置每一個匹配元素的html內容
- .html( function(index, oldhtml) ) 用來返回設置HTML內容的一個函數
注意事項:
.htm()方法內部使用的是DOM的innerHTML屬性來處理的,所以在設置與獲取上需要注意的一個最重要的問題,這個操作是針對整個HTML內容(不僅僅只是文本內容)
.text()方法
得到匹配元素集合中每個元素的文本內容結合,包括他們的後代,或設置匹配元素集合中每個元素的文本內容爲指定的文本內容。,具體有3種用法:
- .text() 得到匹配元素集合中每個元素的合併文本,包括他們的後代
- .text( textString ) 用於設置匹配元素內容的文本
- .text( function(index, text) ) 用來返回設置文本內容的一個函數
注意事項:
.text()結果返回一個字符串,包含所有匹配元素的合併文本
.html與.text的異同:
- .html與.text的方法操作是一樣,只是在具體針對處理對象不同
- .html處理的是元素內容,.text處理的是文本內容
- .html只能使用在HTML文檔中,.text 在XML 和 HTML 文檔中都能使用
- 如果處理的對象只有一個子文本節點,那麼html處理的結果與text是一樣的
- 火狐不支持innerText屬性,用了類似的textContent屬性,.text()方法綜合了2個屬性的支持,所以可以兼容所有瀏覽器
jQuery中有一個.val()方法主要是用於處理表單元素的值,比如 input, select 和 textarea。
.val()方法
注意事項:
.html(),.text()和.val()的差異總結: