浅谈jquery中,html、val与text三者属性取值的联系与区别

学了一段时间的Jquery了但是我老是分不太清html、val、text这三者之间的属性以及之间的联系与区别,下面我就给大家举例一些简单的来区分jquery这三者之间的关系

首先,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! 

 

一 val()适合的页面的input元素如下: 
在jQuery当中用法:
[java]view plain copy
 
 print?
  1. $("#name").val() <span style="color:#ffffff;">一起jquery,17jquery</span>   

1 文本框: 
[java]view plain copy
 
 print?
  1. <input type="text" id="name"/> <p class="Amg384">内容来自17jquery</p>   

2 文本域: 
[java]view plain copy
 
 print?
  1. <textarea  id="textArea"/> <span style="color:#ffffff;">17jquery.com</span>   

3 下拉框: 
[java]view plain copy
 
 print?
  1. <select id="address">  
  2.  <option value="0">北京</option>  
  3.  <option value="1">成都</option>  
  4.  <option value="2">昆明</option>  
  5.   </select>  
  6. ass="Amg384">一起jquery,17jquery</span>   

4 文件框: 
[java]view plain copy
 
 print?
  1. <input type="file" name="file" id="file"/> <span class="Amg384">17jquery.com</span>   

5 按钮:    
[java]view plain copy
 
 print?
  1. <input type="button" id="bt" value="中国"/> <span style="color:#ffffff;">内容来自17jquery</span>   

特殊情况: 
6 单选框: 
[java]view plain copy
 
 print?
  1. <input type="radio" name="sex"  value="0" checked/>男  
  2. <input type="radio" name="sex"  value="1" />女  
  3. <input type="radio" name="sex"  value="2" />人妖  
  4.  <p class="Amg384">17jquery.com</p>   

jQuery获取方式如下: 
[java]view plain copy
 
 print?
  1. //$('input[type=radio]:checked').val();  
  2. //$('input[type=radio][name=sex]:checked').val();  
  3. //$('input[type=radio][name=sex][checked]').val();  
  4. //$('input[type=radio][@name=sex][checked]').val();     //$('input[type=radio]@name=sex]:checked').val();                     
  5. $(':radio[name=sex]:checked').val();  
  6.  <span class="Amg384">17jquery.com</span>   

7 多复选框: 
[java]view plain copy
 
 print?
  1. <input type="checkbox" name="love" value="电影"/>电影  
  2. <input type="checkbox" name="love" value="图书"/>图书  
  3. <input type="checkbox" name="love" value="学习" checked/>学习  
  4.  <input type="checkbox" name="love" value="编程"/>编程  
  5.  <div class="Amg384">一起jquery,17jquery</div>   

jQuery获取方式如下: 
[java]view plain copy
 
 print?
  1. var arr = [];    
  2. // $('input[type=checkbox][name=love]:checked').each(function()    
  3. //所有为checked状态的多选框  
  4. $(':checkbox[name=love]:checked').each(function()     
  5. {    
  6. arr.push(this.value);    
  7.  });    
  8. //arr.toString();     
  9. <div class="Amg384">一起jquery,17jquery</div>   

8 多下拉框 
[java]view plain copy
 
 print?
  1. <select id="address2" multiple >  
  2.       <option value="0">北京</option>  
  3.       <option value="1">石家庄</option>  
  4.        <option value="2">保定</option>  
  5. </select>  
  6.  <div class="Amg384">17jquery.com</div>   

jQuery获取方式如下: 
[java]view plain copy
 
 print?
  1. var arr = [];                         
  2.  $('#address2>option:selected').each(function()      
  3.  {    
  4.     //直接用this可提高速度,如去掉上面的:selected就可用下面这种方式  
  5.      //if(this.selected == true){  
  6.         arr.push(this.value + "," + this.text); 
原文地址:https://www.cnblogs.com/liuhai35/p/5230769.html