innerHTML是JavaScript原生的一種寫法,給指定標簽賦內容(並且若內容中有HTML標簽,可以進行編譯后顯示,例:“
document.getElementById('btn').innerHTML='<li>這是:<b>'+2222+'</b></li>';
”)。
innerHTML在JQuery中使用的話是無效果的,JQuery提供了三種方法實現指定標簽賦內容:.html(),.val(),.text()。
三種方法區別具體:
.html()用為讀取和修改元素的HTML標簽 對應js中的innerHTML
.html()是用來讀取元素的HTML內容(包括其Html標簽), .html()方法使用在多個元素上時,只讀取第一個元素:(這句話實測是一個標簽使用了多個.html()時,只有第一個.html()有效,假如一個標簽同時使用了.html(),.text()也是第一個有效)
.text()用來讀取或修改元素的純文本內容 對應js中的innerText
text()用來讀取元素的純文本內容,包括其后代元素;.text()方法不能使用在表單元素上
.val()用來讀取或修改表單元素的value值
.val()是用來讀取表單元素的"value"值,.val()只能使用在表單元素上
關於三者的區別
1. .val()方法和.html()相同,如果其應用在多個元素上時,只能讀取第一個表單元素的"value"值,但是.text()和他們不一樣,如果.text()應用在多個元素上時,將會讀取所有選中元素的文本內容。
2 .html(),.text(),.val()都可以使用回調函數的返回值來動態的改變多個元素的內容。
區別來自:http://www.cnblogs.com/xiaolifeidao/p/3715830.html