1 回答

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
div從繼承HTMLElement原型中,一個(gè)孩子Node原型
DocumentFragment直接從Node原型繼承。
也就是說(shuō),它div具有所有 Node 方法和屬性以及所有 HTMLElement 方法和屬性。
DocumentFragment 只有 Node 方法和屬性。
盡管 Node 原型具有生育孩子的能力,innerHTML但并不作為先天屬性存在。這僅適用于HTMLElement及其子項(xiàng)(在本例中HTMLDivElement)。
分配給原型innerHTML的子代Node只是innerHTML用您的字符串作為值創(chuàng)建屬性,但僅此而已。
基本上,元素具有內(nèi)部連線,可以告訴它們do何時(shí)innerHTML分配/更新什么。節(jié)點(diǎn)沒(méi)有。
您可以在下面看到這一點(diǎn):
const fragment = document.createDocumentFragment();
const div = document.createElement('div');
console.log("innerHTML in fragment: " + ('innerHTML' in fragment) );
console.log("innerHTML in element: " + ('innerHTML' in div) );
為了將某些東西用作 acontainer并加以利用,innerHTML您實(shí)際上只需要?jiǎng)?chuàng)建一個(gè)包含您要添加的內(nèi)容的元素。您可以使用許多不同的東西,例如templateElement 或DOMParser,但老實(shí)說(shuō),最簡(jiǎn)單的方法是創(chuàng)建一個(gè)單獨(dú)的div并將其分類為container
let container = document.createElement("div");
container.className = "container";
let div = document.createElement("div");
container.className = "child";
container.appendChild(div);
document.body.appendChild(container);
.container {
width: 100px;
height: 100px;
border: 1px solid red;
}
.child {
width: 10px;
height: 10px;
border: 1px solid green;
}
添加回答
舉報(bào)