簡單的說:html()和text()的區(qū)別主要在于是否包含標(biāo)簽。而val()針對的是表單元素。
但是有時(shí)還是不是那么太清晰。
html(),val(),text()都分為有參和無參。
舉例說明它們的不同之處:
html()在沒有參數(shù)的情況下,取得第一個(gè)匹配元素的內(nèi)容。必須要注意的是,即使匹配多個(gè),也只能取得匹配的第一個(gè)元素。
如:
<body> <p>你選中這段文字后,看看它們的文本顏色和背景色,就能明白::selection的作用。</p> <h3>選中下面的文字,看看它的顏色</h3> <h3>選中下面的文字,看看它的顏色</h3> <h3>選中下面的文字,看看它的顏色</h3> <input type="text" value="aaa"> </body> </html> <script src="http://www.gimoo.net/t/js/jquery-1.11.2.min.js"></script> <script> var con = $("p").nextAll("h3"); console.log(con.html()); </script>
此處的con匹配的3個(gè)h3元素,但是只會(huì)打印出第一個(gè)h3的內(nèi)容。
如果我們此處換成text();那么會(huì)打印出三個(gè)h3的內(nèi)容。
如果帶參數(shù)的話,con.html(“aaa”);和con.text(“aaa”);效果一樣,都能改變3個(gè)h3的內(nèi)容。
不過如果con.html("<span>'aaa'</span>")和con.text("<span>'aaa'</span>");使用html會(huì)將span解析為標(biāo)簽,而text,則會(huì)將作為字符串插入。
<body> <p>你選中這段文字后,看看它們的文本顏色和背景色,就能明白::selection的作用。</p> <h3><span>選中下面的文字,看看它的顏色</span></h3> <h3><span>選中下面的文字,看看它的顏色</span></h3> <input type="text" value="aaa"> </body> </html> <script src="http://www.gimoo.net/t/js/jquery-1.11.2.min.js"></script> <script> var con = $("p").nextAll("h3"); console.log(con.html()); console.log(con.text()); </script>
html()會(huì)將標(biāo)簽也取出,但是text()只會(huì)獲取文本部分。
再看val();
<body> <input type="text" value="aaa"/> <input type="button" value="按鈕"/> 選擇性別:<input type="radio" name="sex" checked value="男"><label>男</label> <input type="radio" name="sex" value="女"><label>女</label> <br><br> 選擇地區(qū): <select style="width: 150px"> <option value="1">上海</option> <option value="2">杭州</option> <option value="3">南京</option> <option value="4">麗江</option> </select> </body> </html> <script src="http://www.gimoo.net/t/js/jquery-1.11.2.min.js"></script> <script> $(function () { console.log($("input:text").val()); console.log($("input:button").val()); console.log($("input[name='sex']:checked").val()); console.log($("select option:selected").text()); }); </script>
此處,可以關(guān)注下如何獲取單選按鈕的值,如何獲取選中的select的值。
需要注意的是,option的value并不是顯示在頁面上的內(nèi)容,因?yàn)樵O(shè)置或者是獲取option的頁面內(nèi)容,需要使用text(),當(dāng)然使用html()亦可。
關(guān)于三者的區(qū)別小結(jié)
1. .val()方法和.html()相同,如果其應(yīng)用在多個(gè)元素上時(shí),只能讀取第一個(gè)表單元素的"value"值,但是.text()和他們不一樣,如果.text()應(yīng)用在多個(gè)元素上時(shí),將會(huì)讀取所有選中元素的文本內(nèi)容。
2 .html(),.text(),.val()都可以使用回調(diào)函數(shù)的返回值來動(dòng)態(tài)的改變多個(gè)元素的內(nèi)容。
以上所述是小編給大家介紹的jQuery中text() val()和html()的區(qū)別實(shí)例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對綠夏網(wǎng)網(wǎng)站的支持!