4 回答

TA貢獻1936條經驗 獲得超7個贊
您可以簡單地使用appendChild節點并將其作為參數傳遞。一個節點不能同時在兩個地方,所以它將把它移動到正確的位置。
let child = document.querySelector("#child");
let parent = document.querySelector("#div_b");
parent.appendChild(child);
<div id="div_a">
<div id="child"></div>
</div>
<div id="div_b">
</div>

TA貢獻1845條經驗 獲得超8個贊
您需要將元素添加到新父級,然后將其從舊父級中刪除。如果你可以使用 JQuery,你可以很容易地做到這一點
jQuery("#child").detach().appendTo('#div_b')
使用 JavaScript
var tmp = document.getElementById('child');
document.getElementById('div_b').appendChild(tmp.cloneNode(true));
tmp.remove();

TA貢獻1853條經驗 獲得超18個贊
在純 JS 中,您可以使用document.querySelector(或document.getElementById)將 divNode.appendChild附加#child到#div_bdiv。由于一個節點不能存在于多個地方,這也會自動將其從以下位置刪除#div_a:
document.querySelector('#div_b').appendChild(document.querySelector('#child'));
// or document.getElementById('div_b').appendChild(document.getElementById('child'));
<body>
<div id="div_a">
Div A!
<div id="child">I am a child of Div A</div>
</div>
<hr/>
<div id="div_b">
Div B!
</div>
</body>

TA貢獻1784條經驗 獲得超7個贊
根據您的應用程序,您可能希望使用 querySelector 或 querySelectorAll 來獲取 id="child" 的 div。然后使用 [insert element var].classlist() 你可以 .remove('child') 然后 .add('div_b')。
添加回答
舉報