我的DOM看起来像这样:
div id = main
div
div
我想把这个叫做“中间”的div这样:
div id = main
div id = middle
div
div
所以我想将主节点的所有子节点移动到中间节点,中间节点成为main的子节点。我试图解决它,但我不能。
我使用此代码:
$wrapper = $doc->createElement('div');
foreach($node->childNodes as $child)
{
$node->removeChild($child);
$wrapper->appendChild($child);
}
$node->appendChild($wrapper);
但它不起作用。
如果我这样做:
$wrapper = $doc->createElement('div');
$children = $node->childNodes;
for($i = $children->length; $i--;) {
$child = $children->item($i);
$node->removeChild($child);
$wrapper->appendChild($child);
}
$node->appendChild($wrapper);
项目已移动,但顺序相反。
如何在PHP中正确执行此操作?
答案 0 :(得分:0)
$wrapper = $doc->createElement('div');
$children = $node->childNodes;
for($i = 0; $children->length > 0; $i++) {
$child = $children->item(0);
$node->removeChild($child);
$wrapper->appendChild($child);
}
$node->appendChild($wrapper);