這篇文章將為大家詳細講解有關jquery中text()、val()和html()有哪些區別,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
jquery中text()、val()和html()的區別:text()用于html元素文本內容的存??;html()不但可以用于html元素文本內容的存取,還可以用于html內容的存??;val()僅用于input元素內容的存取。
共同點:text(),html() ,val()三個方法用于html元素的存值和取值。
區別:
text()用于html元素文本內容的存取
html()不但可以用于html元素文本內容的存取,還可以用于html內容的存取
val()用于input元素內容的存取
text()定義和用法
text() 方法方法設置或返回被選元素的文本內容,如果有子標簽,則把子標簽內的文本一起返回,相當于js的innerText
代碼如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="./js/jquery-1.12.4.js"></script> <title>Document</title> </head> <body> <p id="p1">p有文本內容</p> <p id="p2"> p2內的文本 <span>span內有文本內容</span> </p> <input type="text" id="input1" value="這是一個input標簽"> <input type="text" name="" id="input2" placeholder="能成功獲取"> <button id="button1" value="這是一個button標簽"></button> <script> console.log($("#p1").text()); console.log($("#p2").text()); console.log($("#p2 span").text()) ; console.log($("#input1").text()); console.log($("#input2").text()); console.log($("#button1").text()); </script> </body> </html>
console打印的結果
可以看出text()只輸出標簽內的文本內容,和js的innerText方法一樣
html()定義和用法
html() 方法返回或設置被選元素的內容 (inner HTML),包括標簽。如果有子標簽,則把子標簽本身和子標簽內的文本一起返回
相當于js的innerHTML
如果該方法未設置參數,則返回被選元素的當前內容。
<body> <p id="p1">p有文本內容</p> <p id="p2"> p2內的文本 <span>span內有文本內容</span> </p> <input type="text" id="input1" value="這是一個input標簽"> <input type="text" name="" id="input2" placeholder="能成功獲取"> <button id="button1" value="這是一個button標簽"></button> <script> console.log($("#p1").html()); console.log($("#p2").html()); console.log($("#p2 span").html()); console.log($("#input1").html()); console.log($("#input2").html()); console.log($("#button1").html()); </script> </body>
通過console的打印的結果
打印當前標簽內的文本內容,如果有子標簽,則把子標簽本身和子標簽內的文本一起打印
這個和js的innerHTML差不多
text()和html()使用注意事項:
通過上述兩個實例,我們知道文檔對象(dom)中存在的元素,如p,通過text()和html()都可以獲取他的文本值,那么如果文檔對象(dom)中不存在這個元素,而我們卻通過text()和html()獲取他的文本值,那又會怎么樣呢?
dom中不存在h2元素,我們加入以下代碼:
console.log($('h2')) console.log($('h2').text()) //空字符串 console.log($('h2').html()) //undefined
以下是打印結果:$('h2').text() 打印空字符串,$('h2'),html() 打印undefined
val() 定義和用法
val() 方法返回或設置被選元素的值。
元素的值是通過 value 屬性設置的。該方法大多用于 input 元素。
方法主要用于獲取表單元素的值
如果該方法未設置參數,則返回被選元素的當前值。
<body> <p id="p1">p有文本內容</p> <p id="p2"> p2內的文本 <span>span內有文本內容</span> </p> <input type="text" id="input1" value="這是一個input標簽1"> <input type="text" name="" id="input2" value="這是一個input標簽2" placeholder="能成功獲取"> <button id="button1" value="這是一個button標簽"></button> <script> console.log($("#p1").val()); console.log($("#p2").val()); console.log($("#p2 span").val()); console.log($("#input1").val()); console.log($("#input2").val()); console.log($("#button1").val()); </script> </body>
通過控制臺打印結果
val()是用來輸出表單內的數據,可以看出p和span標簽內的文本并沒有被輸出,我還測試了H5新標簽placeholder
同樣也沒有被輸出,所以這個val應該是只針對標簽的value屬性的
那么val()設置值呢
我們在script標簽內再加上三行代碼,設置兩個input框和一個botton的值
$('#input1').val('123'); $('#input2').val('123'); $('#button1').val('123');
來看看瀏覽器呈現出的效果和HTML結構:
對于input框,通過val()設置的值顯示在文本框內,自己本身的value并沒有被改變;對于button,通過val()設置值其實就是在給value屬性賦值
關于“jquery中text()、val()和html()有哪些區別”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。