jQuery擷取文本節點之 text()/val()/html() 方法區別

來源:互聯網
上載者:User

標籤:append   存在   xhtml   obj   ted   結果   編碼   區別   div   

在jquery中val,text,html都能取到值,或加一個參數來賦值,那麼它們有些什麼區別?下面我們來舉例說明: 
首先,html屬性中有兩個方法,一個有參,一個無參 
1. 無參html():取得第一個匹配元素的html內容。這個函數不能用於XML文檔。但可以用於XHTML文檔,返回的是一個String 
例子: 
html頁面代碼:<div><p>Hello</p></div> 
jquery代碼:$("div").html(); 
結果:Hello 
2.有參html(val):設定每一個匹配元素的html內容。這個函數不能用於XML文檔。但可以用於XHTML文檔。返回一個jquery對象 
html頁面代碼:<div></div> 
jquery代碼:$("div").html("<p>Nice to meet you</p>"); 
結果:[ <div><p> Nice to meet you</p></div> ] 

其次,text屬性中有兩個方法,一個有參,一個無參 
1. 無參text():取得所有匹配元素的內容。結果是由所有匹配元素包含的常值內容組合起來的文本。返回的是一個String 
例子: 
html頁面代碼:<p><b>Hello</b> fine</p> 
<p>Thank you!</p> 
jquery代碼:$("p").text(); 
結果:HellofineThankyou! 

2.有參text(val):設定所有匹配元素的常值內容, 與 html() 類似, 但將編碼 HTML (將 "<" 和 ">" 替換成相應的HTML實體).返回一個jquery對象 
html頁面代碼:<p>Test Paragraph.</p> 
jquery代碼:$("p").text("<b>Some</b> new text."); 
結果:[ <p><b>Some</b> new text.</p> ] 

最後,val()屬性中也有兩個方法,一個有參,一個無參。 
1.無參val():獲得第一個匹配元素的當前值。在 jQuery 1.2 中,可以返回任意元素的值了。包括select。如果多選,將返回一個數組,其包含所選的值。 
返回的是一個String、 array 
例子: 
html頁面代碼 : 


代碼如下:
<p></p><br/> 
<select id="single"> 
<option>Single</option> 
<option>Single2</option> 
</select> 
<select id="multiple" multiple="multiple"> 
<option selected="selected">Multiple</option> 
<option>Multiple2</option> 
<option selected="selected">Multiple3</option> 
</select> 

jquery代碼:$("p").append( "<b>Single:</b> " + $("#single").val() + " <b>Multiple:</b> " + $("#multiple").val().join(", ")); 
結果:[ <p><b>Single:</b>Single<b>Multiple:</b>Multiple, Multiple3</p>] 
2.有參val(val):設定每一個匹配元素的值。在 jQuery 1.2, 這也可以為check,select,radio元件賦值,返回一個jquery對象 
html頁面代碼: 
<input type="text"/> 
jquery代碼:$("input").val("hello world!"); 

結果:hello world!

 

jquery中html()與val()的用法區別: 
1). html()與val()的區別 
$("#myId").html("abc"); 
如果myid不存在上面的代碼也不會出錯,只是不進行任何操作; 
var data=$("#myId").html(); 
如果myid不存在,data為null值 
var data=$("#myId").val(); 
如果myid不存在,data為undefined 

2). jquery如何判斷元素存在 
jquery選取器擷取element 無論element是否存在都將返回一個對象 
var my_element=$("#myId"); 
這裡無論元素"myid"是否存在,my_element始終是一個object 
使用下面的方法判斷"myid"元素是否存在 
if(my_element.length>0)){ 
alert("exist"); 
}else{ 
alert("not found");

jQuery擷取文本節點之 text()/val()/html() 方法區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.