jq的html text val

jquery中html()、text()、val()的区别

  (2013-03-26 10:49:16)
  分类: jquery
 
  1. .html()用为读取和修改元素的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()都可以使用回调函数的返回值来动态的改变多个元素的内容。

例子:

 

   

here is a paragram


     
here is a big DIV



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

   var div = $("#div");
   alert("showHtml():  "+div.html());
显示为:

here is a paragram


 
here is a big 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之间的内容 html属性中有两个方法,一个有参,一个无参

       1. 无参html():取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档,返回的是一个String

    例子:

          html页面代码:

Hello

           jquery代码:$("div").html();

          结果:Hello

     2.有参html(val):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。返回一个jquery对象

         html页面代码:

        jquery代码:$("div").html("

Nice to meet you

");

        结果:[

Nice to meet you

     

其次,text属性中有两个方法,一个有参,一个无参

        1. 无参text():取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。返回的是一个String

         例子:

            html页面代码:

Hello fine

                                 

Thank you!

           jquery代码:$("p").text();

          结果:HellofineThankyou!

   

         2.有参text(val):设置所有匹配元素的文本内容,与 html() 类似, 但将编码 HTML (将 "<" 和 ">" 替换成相应的HTML实体).返回一个jquery对象

           html页面代码:

Test Paragraph.

         jquery代码:$("p").text("Some new text.");

          结果:[

Some new text.

]

最后,val()属性中也有两个方法,一个有参,一个无参。

       1.无参val():获得第一个匹配元素的当前值。在 jQuery 1.2 中,可以返回任意元素的值了。包括select。如果多选,将返回一个数组,其包含所选的值。

     返回的是一个String、 array

 

       结果:[

Single:SingleMultiple:Multiple, Multiple3

]

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

 

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

 

html页面代码 :

<</SPAN>p></</SPAN>p><</SPAN>br/>
<</SPAN>select id="single">
  
<</SPAN>option>Single</</SPAN>option>
  
<</SPAN>option>Single2</</SPAN>option>
</</SPAN>select>
<</SPAN>select id="multiple" multiple="multiple">
  
<</SPAN>option selected="selected">Multiple</</SPAN>option>
  
<</SPAN>option>Multiple2</</SPAN>option>
  
<</SPAN>option selected="selected">Multiple3</</SPAN>option>
</</SPAN>select>

          jquery代码:

("p").append( "Single: "   + $("#single").val() + " Multiple: " + $("#multiple").val().join(", "));

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

   html页面代码:

         

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

          结果:hello world!




我们将使用前一章中的三个相同的方法来设置内容:

text() - 设置或返回所选元素的文本内容
html() - 设置或返回所选元素的内容(包括 HTML 标记)
val() - 设置或返回表单字段的值

下面是3school的一小段代码

[html]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>  
  5. <script>  
  6. $(document).ready(function(){  
  7.   $("#btn1").click(function(){  
  8.     $("#test1").text("<b>Hello world!</b>");  
  9.   });  
  10.   $("#btn2").click(function(){  
  11.     $("#test2").html("<b>Hello world!</b>");  
  12.   });  
  13.   $("#btn3").click(function(){  
  14.     $("#test3").val("Hello world");  
  15.   });  
  16. });  
  17. </script>  
  18. </head>  
  19.   
  20. <body>  
  21. <p id="test1">这是段落。</p>  
  22. <p id="test2">这是另一个段落。</p>  
  23. <p>Input field: <input type="text" id="test3" value="Mickey Mouse"></p>  
  24. <button id="btn1">设置文本</button>  
  25. <button id="btn2">设置 HTML</button>  
  26. <button id="btn3">设置值</button>  
  27. </body>  
  28. </html>  
和JS中的innerHTML,innerText,value完全可以对应着理解
就是这个JQ的html()、text()以及 val()
html()依旧可以将含有代码的文本编译过来
text()依旧只能输入正常的字符串(无法有任何编译的功能)
val()依旧只能是给有value属性的标签复制,如div是不能用val()但能用html()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值