我有以下内容:
我有一个Javascript函数,它告诉我从父节点删除给定节点,让我们假设位置1(从0或1,因为我们在父节点上有两个子节点),当做$ parent-时> getElementsByTagName并尝试删除$ child->项目(1),我注意到PHP GetElementsByTagName为该特定节点提供了不同的位置。因此,JS没有办法访问正确的节点。
我想我应该远离getElementsByTagName,并使用getElementsById,但是现在我想学习并理解为什么它不能正常工作。
以下是一些代码:http://pastie.org/1066857
非常感谢您的关注; D
答案 0 :(得分:1)
找到解决方案,
/*
* deleteNode() removes given node, in position X.
*/
function deleteNode( $html, $strParent, $intNodePosition ) {
$domhtml = DOMDocument::loadHTML($html);
$xpath = new DOMXPath($domhtml);
$divs = $xpath->query( "*/div[@id='maindiv']/div" );
$node = $divs->item( $intNodePosition );
$node->parentNode->removeChild( $node );
/*
this wont work, but why ? It should
$divs->removeChild( $node );
*/
return $domhtml->saveHTML();
}//fim deleteNode