亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

createTextNode和innerHTML區別?

答案的

? var newtext= document.createTextNode("PHP");?

? newnode.appendChild(newtext);?

這兩行代碼我發覺用

? newnode.innerHTML="PHP";

也能代替輸出,但有什么不同?應該選用哪個才是正確的?

正在回答

3 回答

createTextNode是創造一個文本節點,然后添加這個文本節點;

而底下的,是先創造節點,再用innerHTML去獲取并改變,innerHTML能改變的不止文本節點。

官方:

innerHTML會將文本中包含的HTML代碼實現效果,而createTextNode只是純粹創造了文本節點,

所以返回的效果也就是純文本內容。如果僅僅是想添加文字,兩者都行,若是想添加包含html元素并要實現html效果,用innetHTML(也可以用dom方法:用createElement創建元素節點,在這個節點下創建文本節點,,這樣會比較麻煩)


0 回復 有任何疑惑可以回復我~

innerHTML可以用來獲取和更新文本及標簽,但添加的標簽如果缺失關閉標簽,可能會影響整個頁面的設計。更壞的情況,使用innerHTML把用戶提供內容添加到一個頁面上,他們可能會添加惡意內容,如XSS攻擊。

而createTextNode則可以避免以上情況,如果想在DOM中添加一個空元素,可以跳過它,在createElemen()后直接appendChild()即可。

3 回復 有任何疑惑可以回復我~

innerHTML可以是一個dom,比如說一個table,textNode只是一個文本節點,顯然,文本節點要小于innerHTML

,比如說body的innerHTML就是body下的所有

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

createTextNode和innerHTML區別?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號