innerHTML和innerText都是元素的屬性,通過修改這個元素的屬性可以達到修改元素內容的目的。但是二者之間略有不同。具體來說,它們的區別如下:
- innerHTML可以獲取或設置元素內部的HTML內容,包括HTML標簽,而innerText則只返回純文本內容,會自動去掉HTML標簽。
- innerHTML處理速度相對較快,而innerText處理速度較慢。
- 在獲取值時,如果元素內部只有文本內容,innerText和innerHTML得到的值相同。但是,如果元素內部包含HTML標簽,那么innerText只會返回標簽中的文本內容,而innerHTML則會返回所有的HTML代碼。
以下是一個示例,演示如何獲取和設置innerHTML和innerText的值:
Html
<div id="myDiv">
<p>hello world</p>
<p>hello <span>everyone</span></p>
</div>
<script>
const myDiv = document.getElementById('myDiv');
console.log(myDiv.innerHTML); // 輸出<div id="myDiv"><p>hello world</p><p>hello <span>everyone</span></p></div> console.log(myDiv.innerText); // 輸出hello worldhello everyone myDiv.innerHTML = '<h1>新標題</h1>';
console.log(myDiv.innerHTML); // 輸出<h1>新標題</h1>
myDiv.innerText = '新內容';
console.log(myDiv.innerHTML); // 輸出<h1>新內容</h1>
</script>