val()、HTML()、text()的区别

原文链接:http://www.cnblogs.com/aqbyygyyga/archive/2011/11/03/2234926.html


  1. 用为读取和修改元素的HTML标签
  2. .text()用来读取或修改元素的纯文本内容
  3. .val()用来读取或修改表单元素的value值。

这三个方法功能上的对比

  1. .html(),.text(),.val()三种方法都是用来读取选定元素的内容;只不过.html()是用来读取元素的HTML内容(包括其Html标签),.text()用来读取元素的纯文本内容,包括其后代元素,.val()是用来读取表单元素的"value"值。其中.和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。
  2. .html(htmlString),.text(textString)和.val(value)三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容。
  3. .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容
  4. 例子:

    <div id="div">
        <p>here is a paragram</p>
        <div>here is a big DIV</div>
    </div>

    function showVal()
    {
       var div = $("#div");
        alert("showVal():  "+ div.val());
    显示为空
    }
    function showHtml()
    {

       var div = $("#div");
       alert("showHtml():  "+div.html());}
    显示为:
    <p>here is a paragram</p>
     <div>here is a big DIV</div>

    function showText()
    {var div = $("#div");
        alert("showText():  "+div.text());}
    显示为:
    here is a paragram
    here is a big DIV
        
    总结:val()---一般 用在input上,而不用在其他元素,用来获取input或者是select的值
    html()和text()可用在多种元素上,但是html()相当于依据源代码返回,也就是在返回的内容中会包含各种tag,而text()则相当于是依据页面显示返回,返回的内容是出去各种tag之间的内容

  5. 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

     

           结果:[ <p><b>Single:</b>Single<b>Multiple:</b>Multiple, Multiple3</p>]

    例子: //多选下拉框,$('#multiple').val()返回数组

     

    //$("#multiple").val().join(", "))以,连接数组中每个值

     

    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(", "));

              2.有参val(val):设置每一个匹配元素的值。在 jQuery 1.2, 这也可以为check,select,radio元件赋值,返回一个jquery对象   

       html页面代码:

             <input type="text"/>

             jquery代码:$("input").val("hello world!");

              结果:hello world!


JS中innerHTML与value、val的用法区别。innerHTML是html中DOM节点的一个属性。使用该方法可以获取元素的内容,然后在对其进行操作(改变)。

value获取的是html中标签的value属性值。

val是jQuery中返回元素的值,类似value。

区别:

innerHTML获取的是诸如<p>这是一个p</p>,这一类标签没有value这个属性,当使用innertHTML方法获取的是“这是一个p”。

value方法获取的是标签的value属性值<input type="text" value="btn">,当使用value方法获取的是”btn”。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值