假設以下示例:
let html = `<Parent customAttr={ value }>
<Child className="container" />
</Parent>`;
let div = document.createElement('div');
div.innerHTML = html;
// or
div.insertAdjacentHTML('beforeend', html);
console.log(div);
當插入html變數innerHTML時,和元素的div第一個字母變為小寫,屬性的駝峰式大小寫丟失并被包裹在雙引號中。<Parent><Child>{ value }
插入 as 時是否有可能以及如何在沒有這些更改的情況下保留所有內容innerHTML?
uj5u.com熱心網友回復:
來自mdn 網路檔案:
當您設定 innerHTML 的值時,究竟會發生什么?這樣做會導致用戶代理遵循以下步驟:
指定的值被決議為 HTML 或 XML(基于檔案型別),從而生成一個 DocumentFragment 物件,該物件表示新元素的新 DOM 節點集。如果要替換其內容的元素是一個元素,則該元素的內容屬性將替換為在步驟 1 中創建的新 DocumentFragment。對于所有其他元素,該元素的內容將替換為新 DocumentFragment 中的節點。
所以你不能用 innerHtml 做你想做的事
uj5u.com熱心網友回復:
您可以簡單地向元素添加內容。
div.innerHTML = html
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/510226.html
