Rumah >hujung hadapan web >tutorial js >Analisis ringkas tentang perbezaan antara html(), text(), dan val() dalam JQuery_jquery
1.HTML
html(): Dapatkan kandungan html elemen padanan pertama. Fungsi ini tidak boleh digunakan dengan dokumen XML. Tetapi boleh digunakan untuk dokumen XHTML
html(val): Tetapkan kandungan html setiap elemen padanan. Fungsi ini tidak boleh digunakan dengan dokumen XML. Tetapi ia boleh digunakan untuk dokumen XHTML.
2.TEKS
teks(): Dapatkan kandungan semua elemen padanan.
Hasilnya ialah teks digabungkan daripada kandungan teks yang terkandung dalam semua elemen padanan. Kaedah ini berfungsi untuk kedua-dua dokumen HTML dan XML.
teks(val): Tetapkan kandungan teks semua elemen padanan
Serupa dengan html(), tetapi akan mengekod HTML (menggantikan "7cd5b91af30fe2437a6260ab1429d7ed" dengan entiti HTML yang sepadan).
3.VAL
val(): Dapatkan nilai semasa elemen padanan pertama.
val(val): Tetapkan nilai setiap elemen padanan.
Kandungan di atas disalin daripada dokumen bantuan JQuery, jadi saya tidak akan bercakap terlalu banyak mengarut. Berikut adalah beberapa latihan yang saya lakukan, kodnya adalah seperti berikut:
Semasa melakukan latihan, saya menemui satu lagi perbezaan antara html dan teks
Apabilahtml() mengalih keluar kandungan elemen, format di bawah elemen yang dipilih juga boleh diambil semula.
Contohnya: 17670b365f245f4926c7f388552cd260a4b561c25d9afb9ac8dc4d70affff4195a8028ccc7a7e27417bff9f05adf5932Tulis Kurang Lakukan Lebih72ac96585ae54b6ae11f849d2649d9e60d36329ec37a2cc24d42c7229b69747a16b28748ea4df4d9c2150843fecfba68
Jika kita menggunakan var strHTML = $("#divShow").html(); untuk mendapatkannya,
Hasilnya ialah:a4b561c25d9afb9ac8dc4d70affff4195a8028ccc7a7e27417bff9f05adf5932Tulis Kurang Lakukan Lebih72ac96585ae54b6ae11f849d2649d9e60d36329ec37a2cc24d42c7229b69747a
Jika kita menggunakan var strHTML2 = $("#divShow b i").html(); untuk mendapatkannya
Hasilnya ialah Tulis Kurang Buat Lebih
Dan teks tidak mempunyai situasi pertama,
Jika kita ambil var strText = $("#divShow").text();
Hasilnya ialah Tulis Kurang Buat Lebih
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <script src="js/jquery.js" type="text/javascript"></script> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> --> <title> 获取或设置元素的内容</title> <style type="text/css"> body{font-size:15px;text-align:center} div{border:solid 0px #666;padding:5px;width:220px;margin:5px} </style> <script type="text/javascript"> $(function() { var strHTML = $("#divShow").html();// 获取HTML 内容(包含div下面的两个格式) var strHTML2 = $("#divShow b i").html(); //获取HTML内容 var strHTML3 = $("div").html(); var strText = $("#divShow").text();// 获取文本内容 var strText2 = $("div").text(); $("#divHTML").html(strHTML);// 设置HTML 内容 $("#divHTML2").html(strHTML2); //设置HTML内容 $("#divHTML3").html(strHTML3); //设置HTML内容 $("p").html(strHTML); $("#divText").text(strText);// 设置文本内容 $("#divText2").text(strText2);// 设置文本内容 $("a").text(strText); $("select").change(function() { // 设置列表框change 事件 // 获取列表框所选中的全部选项的值 alert($("select").val()); var strSel = $("select").val().join(","); $("input").val(strSel); // 显示列表框所选中的全部选项的值 }) }) </script> </head> <body> <table border="1" bordercolor="#A9A9A9" cellspacing="0"> <tr><td>******************************</td><td>*******************************************</td></tr> <tr> <td><div id="divShow"><b><i>Write Less Do More</i></b></div></td> <td>这是原内容</td> </tr> <tr> <td><div id="divShow"><b><i>Write XXXX Do XXXX</i></b></div></td> <td>这是原内容</td> </tr> <tr><td>******************************</td><td>*******************************************</td></tr> <tr> <td><div id="divHTML">1</div></td> <td>获取原内容(连带内容的格式)后以html方式输出</td> </tr> <tr> <td><div id="divHTML2">2</div></td> <td>获取原内容(不带内容的格式)后以html方式输出</td> </tr> <tr> <td><div id="divHTML3">3</div></td> <td>获取原内容(获取第一个匹配元素的内容)后以html方式输出</td> </tr> <tr> <td><p></p></td> <td>HTML方式设置段落的文本</td> </tr> <tr> <td><p></p></td> <td>如果这个也有内容了,就是设置每个匹配元素的内容</td> </tr> <tr><td>******************************</td><td>*******************************************</td></tr> <tr> <td><div id="divText">4</div></td> <td>获取原内容后以text方式输出</td> </tr> <tr> <td><div id="divText2"></div></td> <td>获取原内容(获取所有匹配元素的内容)后以text方式输出</td> </tr> <tr> <td><a></a></td> <td>TEXT方式设置段落的文本</td> </tr> <tr> <td><a></a></td> <td>如果这个也有内容了,就是设置每个匹配元素的内容</td> </tr> <tr><td>******************************</td><td>*******************************************</td></tr> <tr> <td> <select multiple="multiple"style="height:96px;width:85px"> <option value="1">Item 1</option> <option value="2">Item 2</option> <option value="3">Item 3</option> <option value="4">Item 4</option> <option value="5">Item 5</option> <option value="6">Item 6</option> </select> <select> <option value="7">Item 7</option> <option value="8">Item 8</option> <option value="9" selected>Item 9</option> </select> </td> <td> </td> </tr> <tr> <td><input ></input></td> <td><input ></input></td> </tr> </table> </body> </html>
Anda juga boleh mengesahkannya sendiri. Di atas adalah percubaan yang saya lakukan adalah 1.6
Untuk meringkaskan:
.html() digunakan untuk membaca dan mengubah suai teg HTML elemen
.text() digunakan untuk membaca atau mengubah suai kandungan teks biasa elemen
.val() digunakan untuk membaca atau mengubah suai nilai unsur bentuk.
Perbandingan fungsi ketiga-tiga kaedah ini
.html(), .text(), dan .val() semuanya digunakan untuk membaca kandungan elemen yang dipilih; hanya .html() digunakan untuk membaca kandungan HTML elemen (termasuk teg Htmlnya ), .text() digunakan untuk membaca kandungan teks biasa unsur, termasuk unsur turunannya, dan .val() digunakan untuk membaca nilai "nilai" unsur bentuk. Antaranya, kaedah . dan .text() tidak boleh digunakan pada elemen bentuk, dan .val() hanya boleh digunakan pada elemen bentuk sebagai tambahan, apabila kaedah .html() digunakan pada berbilang elemen, hanya yang pertama; elemen dibaca; Kaedah .val() adalah sama seperti .html() Jika ia digunakan pada berbilang elemen, hanya nilai "nilai" unsur bentuk pertama boleh dibaca, tetapi .text() adalah berbeza daripada mereka. Jika .text () Apabila digunakan pada berbilang elemen, kandungan teks semua elemen yang dipilih akan dibaca.
.html(htmlString), .text(textString) dan .val(value) semuanya digunakan untuk menggantikan kandungan elemen yang dipilih Jika ketiga-tiga kaedah digunakan pada berbilang elemen pada masa yang sama, ia akan diganti . Kandungan semua elemen yang dipilih.
.html(), .text(), dan .val() semuanya boleh menggunakan nilai pulangan fungsi panggil balik untuk menukar kandungan berbilang elemen secara dinamik.