2014-04-24 40 views
3

我有点卡在如何重新排序节点。我正在尝试添加两个简单的“移动项目”和“移动项目”功能。尽管insertBefore()在前一个之前执行了我想要移动同级的操作,但是在DOM中向下移动一个节点最简单的方法是什么? 非常感谢!PHP DOMNode insertAfter?

回答

9

代码示例:

try { 
     $li->parentNode->insertBefore($ul, $li->nextSibling); 
} catch(\Exception $e){ 
     $li->parentNode->appendChild($ul); 
} 
+1

其实,你所能做的只有:'$俪> parentNode->的insertBefore($ UL,$俪> nextSibling);' 的try..catch块是不必要的,因为如果$ li-> nextSibling为null,insertBefore()将像appendChild()一样行事。 – marcini

+0

O真的吗?当我尝试时发现错误。 – Layke

+0

如果nextSibling为null(即$ li是系列中的最后一个)会怎么样? – IanB

0

好吧,愚蠢的我。简单的解决方案是在DOM中进入下一个同级的下一个同级并执行相同的insertBefore ...,这样就解决了。