JQuery中html,val,text-取值赋值的区别-

<div>
        <div id="htmlId1">
            htmlId1
        </div>
        <div id="htmlId2">
        </div>
        <div id="htmlId3">
        </div>
        <div id="htmlId4">
        </div>
 
 
        <input id="input1" value="input1">
        </input>
        <input id="input2">
        </input>
        <input id="input3">
        </input>
        <input id="input4">
        </input>
 
        <p>
            p1
        </p>
        <p>
            p2
        </p>
        <p>
            p3
        </p>
 
    </div>

 console.log("1:" + $('#htmlId1').html())//成功取值
    console.log("2:" + $('#htmlId1').val())//无法取值
    console.log("3:" + $('#htmlId1').text())//成功取值
    $('#htmlId2').html('htmlId2')//成功赋值
    $('#htmlId3').val('htmlId3')//无法赋值
    $('#htmlId4').text('htmlId4')//成功赋值
    //div元素使用html或text取值赋值均可,使用val无法取值和赋值
    
    console.log("4:" + $('#input1').html())//无法取值
    console.log("5:" + $('#input1').val())//成功取值
    console.log("6:" + $('#input1').text())//无法取值
    $('#input2').html('input2')//无法赋值
    $('#input3').val('input3')//成功赋值
    $('#input4').text('input4')//无法赋值
    //input元素使用val取值赋值均可,无法使用html或text取值赋值
    
    console.log("7:" + $('p').html())//返回第一个p
    console.log("8:" + $('p').val())//返回空
    console.log("9:" + $('p').text())//返回如下:
    //p1
    //p2
    //p3
    //p元素,html返回第一个p的值,val返回空,text返回所有p元素的值
 
    // $('p').html('p4')//三个p均赋值为p4
    // $('p').val('p4')//三个p均没有赋值为p4
    // $('p').text('p4')//三个p均赋值为p4
    //p元素,html和text均把所有的p赋值,val无法给p赋值


.html()用为读取和修改元素的HTML标签 对应js中的innerHTML

.html()是用来读取元素的HTML内容(包括其Html标签),.html()方法使用在多个元素上时,只读取第一个元素


.text()用来读取或修改元素的纯文本内容 对应js中的innerText

text()用来读取元素的纯文本内容,包括其后代元素;.text()方法不能使用在表单元素上


.val()用来读取或修改表单元素的value值

.val()是用来读取表单元素的"value"值,.val()只能使用在表单元素上

关于三者的区别

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

2 .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。
posted @ 2020-09-09 17:35  就一个  阅读(430)  评论(0编辑  收藏  举报