1. 程式人生 > >jQuery中的text()、html()和val()以及innerText、innerHTML和value區別

jQuery中的text()、html()和val()以及innerText、innerHTML和value區別

jQuery中設定或者獲取所選內容的值:

作者:fozero 出處:https://www.cnblogs.com/fozero、

  • text();設定或者獲取所選元素的文字內容;
  • html();設定或者獲取所選元素的內容(包括html標記);
  • val();設定或者獲取表單欄位的值(前提是表單設定了value屬性);
    區別:
    text()和html()的區別是:前者是處理的文字內容,只能寫文字如果寫了上面的標記則會以文字形式輸出;後者可以解析文字中的html標記,就是你可以新增像<a></a>、<p></p>等標記,最後會解析為其效果。)

JavaScript中設定或者獲取所選內容的值

  • 同理innerText、innerHTML和value,

  • innerText和innerHTML都是將字串放入hmtl標籤中的一個函式

  • 但是innerHTMl他可以解析hmtl標記
    例如 你放入一個

< a/>斯蒂芬<a/> 

如果在DIV中它裡面就會出現一個帶下劃線的a元素;
但是innerText只支援普通字串;

程式碼

jQuery程式碼

<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"
>
</script> <script> $(document).ready(function(){ $("#btn1").click(function(){ alert("Text: " + $("#test").text()); }); $("#btn2").click(function(){ alert("HTML: " + $("#test").html()); }); }); </script> </head> <body> <p id="test">這是段落中的<b>
粗體</b>文字。</p> <button id="btn1">顯示文字</button> <button id="btn2">顯示 HTML</button> </body> </html>

JS程式碼

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
function getInnerHTML(){
alert(document.getElementById("btn1").value);
}
</script>
</head>

<body>
<p id="test">這是段落中的<b>粗體</b>文字。</p>
<button id="btn1"  onclick="getInnerHTML()"  >顯示文字</button>
<button id="btn2">顯示 HTML</button>
</body>

</html>

總結

.html()用為讀取和修改元素的HTML標籤 對應js中的innerHTML。

.html()是用來讀取元素的HTML內容(包括其Html標籤),.html()方法使用在多個元素上時,只讀取第一個元素。

.text()用來讀取或修改元素的純文字內容 對應js中的innerText。

text()用來讀取元素的純文字內容,包括其後代元素;.text()方法不能使用在表單元素上。

.val()用來讀取或修改表單元素的value值。

.val()是用來讀取表單元素的"value"值,.val()只能使用在表單元素上。

關於三者的區別

  1. val()方法和.html()相同,如果其應用在多個元素上時,只能讀取第一個表單元素的"value"值,但是.text()和他們不一樣,如果.text()應用在多個元素上時,將會讀取所有選中元素的文字內容。val()方法和.html()相同,如果其應用在多個元素上時,只能讀取第一個表單元素的"value"值,但是.text()和他們不一樣,如果.text()應用在多個元素上時,將會讀取所有選中元素的文字內容。
  2. html(),.text(),.val()都可以使用回撥函式的返回值來動態的改變多個元素的內容。