我對動態創建的層次元素有點問題。
一直試圖使用insertBefore
所以他們改變的地方,但沒有運氣,不會得到任何錯誤,但我仍然得到其他元素。AppendChild和InsertBefore
我有這個功能,創建一個類dice-window-wrapper
廣告它page-content-wrapper
。
var outerDiv = createElementWithClass('div', 'dice-window-wrapper'),
innerDiv = createElementWithClass('div', 'dice-menubar-wrapper');
outerDiv.appendChild(innerDiv);
document.getElementById("page-content-wrapper").appendChild(outerDiv);
而且我在這裏得到了打印<div class="dice-window-wrapper">...</div>
沒問題。
然後我想廣告與一些<li>
標籤的無序列表,並使用此功能:
icon_ul = createElementWithOutClass('ul');
var icon_ul = document.getElementById("page-menu-wrapper").appendChild(icon_ul);
icon_li = createElementWithId('li','icon-dice');
icon_ul.appendChild(icon_li);
document.getElementById("ul");
和打印將<ul><li id="icon-dice"></li></ul>
的問題,因爲我告訴是<div class="dice-window-wrapper">...</div>
應當根據字符串<ul><li id="icon-dice"></li></ul>
。
但即使我將icon_ul
函數從appendChild
更改爲insertBefore
,似乎沒有任何變化。
爲什麼說你的'insertBefore'的代碼是什麼樣子?它期望兩個參數:新的子元素和應插入新元素之前的元素:https://developer.mozilla.org/en-US/docs/DOM/Node.insertBefore。 –
我很困惑。你的第一個模塊在'page-content-wrapper'中增加了兩個嵌套的'div',你的第二個模塊在'page-menu-wrapper'中增加了一個'ul',所以看起來你的兩個模塊「單獨」工作,第一個'div'與第二個'ul'沒有一定的關係? – Passerby
@FelixKling 這就是我試圖用 document.getElementById(「page-menu-wrapper」)。insertBefore(icon_ul,outerDiv); – Dymond