zoukankan      html  css  js  c++  java
  • jQuery中的text(),html(),val()的区别

    一、jquery中HTML

    1. 无参html()

    方法用来获取任意元素的HTML内容,如果你调用多个选定元素的.html()方法,那么其读取的只是第一个元素,换句话说:如果选择器匹配多于一个的元素,那么只有第一个匹配元素的 HTML 内容会被获取。另外此法对XML方档是无效的。

    要读取一个元素的HTML内容,首先你要选择这个元素,然后在调用jQuery中的.html()方法。

    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> ]     


     

    二、 jquery中text

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

    取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。返回的是一个String。

    text()将获取匹配元素集合中每个元素的文本内容结合,包括他们的后代。.text()和.html()方法不同,.text()方法都可以在XML和HTML文档中使用。.text()方法的结果是由所有匹配元素包含的文本内容组合起来的文本(由于不同的浏览器对HTML分析器的不同,在返回的文本换行和其他空格可能会有所不同。)

    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> ] 
    
    

    备注

    使用.text()方法,我们只读取元素的纯文本内容,包括他的后代元素,而此元素中的HTML标签(包括其后代元素的HTML标签)都被剥离出去,只留下文本内容。

    .text()和.html()方法一样可以同时选定多个元素,但有一点不同:.html()匹配多个元素时,只会读取匹配元素中的第一个;而.text()方法不同,他在匹配多个元素时,会同时读取多个元素的内容,

    三、jquery中val

    1.无参val()

    取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。将返回的是字符串或数组.

    .val()方法主要用于获取表单元素的值。至于“<select multiple="multiple">”元素,.val()方法返回一个包含每个选中的option的数组,对于下接选择框“<select>”和复选框,单选([type="checkbox"],[type="radio"])你可以使用“:selected”和“:checked”选择器来获取值。

    2.有参text(val)

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

    这个方法常用来设置表单域的值,同样对于“<select multiple="multiple">”元素,多个option可以通过一个数组来选中。.val(value)可以同时改变选中元素的value值,而且其值是相同的

    四、什么情况下可以使用.val()方法呢

    1、你可以使用.val()来读取和修改<select>选中的列表项。正如上面的实例所示,当然这些值已经在存在列表项中;
    2、你可以使用.val()来读取<select multiple="multiple">选中的值,如果你选中多上选项值,此时.val()将返回的是一个option数组,不过你不能使用.val()给他设置多个值;
    3、你可以使用.val()来读取radio和checkbox的值,也可以配合checked="checked"属性来读取选中的值,但对于checkbox需4、要使用each()进行遍历,否则只能读取第一个选中的值;
    5、你可使用function动态改变表单中多个元素的value值。

    五、.html(),.text()和.val()区别

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

    六、这三个方法功能上的对比

    1、.html(),.text(),.val()三种方法都是用来读取选定元素的内容。

    2、.html()是用来读取元素的HTML内容(包括其Html标签)

    3、.text()用来读取元素的纯文本内容,包括其后代元素

    4、.val()是用来读取表单元素的"value"值。

    5、和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。

    七、javascript 中 innerHTML()、innerTEXT()、outerHTML()、outerTEXT() 的区别:
     
    1、innerHTML 设置或获取位于对象起始和结束标签内的 HTML
    2、outerHTML 设置或获取对象及其内容的 HTML 形式
    3、innerText 设置或获取位于对象起始和结束标签内的文本
    4、outerText 设置(包括标签)或获取(不包括标签)对象的文本

    <div id='a'><div>a</div></div> 

    $('#a').text() 获取到的就是a 

    $('#a').html()获取到的就是<div>a</div>

  • 相关阅读:
    管道通信
    进程间的八种通信方式----共享内存是最快的 IPC 方式
    归并排序时间复杂度
    vector中的push_back函数的意思是什么
    如何实现android和服务器长连接
    android中实现service动态更新UI界面
    android中如何实现UI的实时更新---需要考虑电量和流量
    Map集合排序
    (二十一)自定义Tabbar
    (二十)首页内容详细【详细页】+ 评论 + 回复
  • 原文地址:https://www.cnblogs.com/libiyangblog/p/5187289.html
Copyright © 2011-2022 走看看