2014-04-24 4 views
3

노드를 재정렬하는 방법에 조금 얽혀 있습니다. 두 개의 간단한 "항목 이동"및 "항목 아래로 이동"기능을 추가하려고합니다. insertBefore()는 앞의 형제 앞에 형제를 옮기기를 원하지만 DOM에서 한 노드를 아래로 이동시키는 가장 쉬운 방법은 무엇입니까? 많은 감사를드립니다.PHP DOMNode insertAfter?

답변

9

코드 예제 : 사실

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

, 당신은 할 수있다 $ li-> nextSibling이 null 인 경우 insertBefore()가 appendChild()와 같이 작동하므로 불필요합니다. – marcini

+0

정말요? 그것을 시도 할 때 그것은 오류를 던지고있었습니다. – Layke

+0

nextSibling이 null 인 경우 (즉, $ li가 시리즈의 마지막 값일 경우)? – IanB

0

좋아, 어리석은 나를. 쉬운 솔루션은 DOM에서 nextSibling의 nextSibling으로 이동 한 다음 동일한 insertBefore를 수행하는 것입니다. 이렇게하면이 문제가 해결됩니다. ` 된 try..catch 블록은,`$ 이는 리튬> parentNode->에 insertbefore ($ UL, $ 이는 리튬>로 nextSibling)이 :