在項目開發中,寫jQuery代碼有時候會搞混淆一下東西,現在寫一下demo來列出jQuery的.html(),.text(),.val()的區別。
1. html()取得第一個匹配元素的內容,簡單來說就是所取得的標簽所包含的所有東西。
假如括號中有帶val的話,最簡單的理解就是將上一步取得的內容全部替換成括號中val,下面看demo
1 <div id="divTest" value='2'> 2 這是div的內容! 3 <label id="lblText"> 4 這是label的內容! 5 </label> 6 <div id="divTest2"> 7 第二個div內容! 8 </div> 9 </div>
這是html文檔結構,現在我們執行下面js代碼看看所取得的是什么的東西
1 $("#divTest").html() //所取得內容:這是div的內容!<label id="lblText">這是label的內容!</label> <div id="divTest2">第二個div內容!</div>
1 $("#divTest").html("我要修改了!") //執行修改
上面修改之后,我們接着獲取一下
1 $("#divTest").html() //所取得內容:我要修改了!
注:html()方法可以用於XHTML文檔,但不能用於XML文檔!
2.text():取得所有匹配元素的內容,結果是由所有匹配元素包含的文本內容組合起來的文本,同理,text(val)是設置所有匹配元素的文本內容
1 $("#divTest").text() //所取得內容:這是div的內容!這是label的內容!第二個div內容! 2 //可見所取得是標簽內的東西,但不會取標簽
注:這個方法對HTML和XML文檔都有效
3.val()常用來操作標准的表單組件對象,如button,text,hidden
例如添加了一個select元素以及一個hidden的元素
1 <select id="selectVal"> 2 <option value="1" selected="selected">1</option> 3 <option value="2" >2</option> 4 </select> 5 <input type="hidden" id="hidVal" value="1"/>
現在我們來取一下他們的值
1 $("#selectVal").val() //取得值為:1 同理這個也是 $("#hidVal").val()
有時候開發的時候會在一個div內設置一個value的屬性,那么我們在取值的時候可以用這樣
1 $("#divTest").attr('value')
如有不妥,還請斧正!