createTextNode和innerHTML區別?
答案的
? var newtext= document.createTextNode("PHP");?
? newnode.appendChild(newtext);?
這兩行代碼我發覺用
? newnode.innerHTML="PHP";
也能代替輸出,但有什么不同?應該選用哪個才是正確的?
答案的
? var newtext= document.createTextNode("PHP");?
? newnode.appendChild(newtext);?
這兩行代碼我發覺用
? newnode.innerHTML="PHP";
也能代替輸出,但有什么不同?應該選用哪個才是正確的?
2018-10-19
舉報
2019-08-20
createTextNode是創造一個文本節點,然后添加這個文本節點;
而底下的,是先創造節點,再用innerHTML去獲取并改變,innerHTML能改變的不止文本節點。
官方:
innerHTML會將文本中包含的HTML代碼實現效果,而createTextNode只是純粹創造了文本節點,
所以返回的效果也就是純文本內容。如果僅僅是想添加文字,兩者都行,若是想添加包含html元素并要實現html效果,用innetHTML(也可以用dom方法:用createElement創建元素節點,在這個節點下創建文本節點,,這樣會比較麻煩)
2018-12-27
innerHTML可以用來獲取和更新文本及標簽,但添加的標簽如果缺失關閉標簽,可能會影響整個頁面的設計。更壞的情況,使用innerHTML把用戶提供內容添加到一個頁面上,他們可能會添加惡意內容,如XSS攻擊。
而createTextNode則可以避免以上情況,如果想在DOM中添加一個空元素,可以跳過它,在createElemen()后直接appendChild()即可。
2018-10-22
innerHTML可以是一個dom,比如說一個table,textNode只是一個文本節點,顯然,文本節點要小于innerHTML
,比如說body的innerHTML就是body下的所有