摘要:好的,這些是眾所周知的。和兩者最大區別就是是否會改變調用它們的節點自身,類似上面與的其二中所描述。并未寫入規范,不建議使用,而且會導致調用它的節點自身消失。兩者可能因為瀏覽器不同,輸出的文本格式略有差別
innerHTML和outerHTML
先說一個幾乎眾所周知的,innerHTML和outerHTML中的內容都會被解析為DOM子樹,其二就是,
執行效果等于:
txt
而outerHTML的執行,
執行效果等于:
txt
就是原本的div消失了,調用outer HTML的整個節點全部被替換了。但是該div還存在,并沒有被刪除,可以通過console.log(txt)看到它。
好的,這些是眾所周知的。
在使用innerHTML或者outerHTML過程中,會有一個小細節,有關script的,但并不是script在ie8-的那個無作用域的問題(這個也是眾所周知的)。
";
這樣的代碼,在瀏覽器運行會出錯,出錯處在第四行,修改第四行為如下,就不會報錯:
txt.innerHTML = "";
需要你加一個轉義符號,反觀第三行結尾不需要轉義符也不會出錯。
原因是瀏覽器解析時遇到就會認為是結束標簽就會和第一行的,記得轉義符。
兩者最大區別就是是否會改變調用它們的節點自身,類似上面innerHTML與outerHTML的其二中所描述。
outerText并未寫入規范,不建議使用,而且會導致調用它的節點自身消失。
innerText與textContent區別總結:
①