JS *** 作HTML节点添加子节点?

JS *** 作HTML节点添加子节点?,第1张

假设你的xml为stu.xml

---------------那么--------------

$doc = new DOMDocument()

$doc->load( 'stu.xml' )

$students = $doc->getElementsByTagName( "xuesheng" )

foreach($students as $stu){

$yuwen = $stu->getElementsByTagName( "yuwen" )->item(0)->nodeValue

$shuxue = $stu->getElementsByTagName( "shuxue" )->item(0)->nodeValue

$yingyu = $stu->getElementsByTagName( "yingyu" )->item(0)->nodeValue

$zongfen = $stu->getElementsByTagName( "zongfen" )->item(0)->nodeValue

if($zongfen){

echo "节点已经存在了,不再添加!"

continue

}

$zongfen = $yuwen+$shuxue+$yingyu

$newNode = $doc->createElement("zongfen",$zongfen)

$stu->appendChild($newNode)

}

echo $result = $doc->saveXML()

file_put_contents("stu.xml",$result) //这句其实是不需要加上的- - 但是我也不晓得为什么save不了,就加了这句~

希望对你有用哦~

insertBefore:在现有的子节点前加入一个新的子节点。

append:在现有的子节点后加入一个新的子节点。

target.insertBefore(newChild,existingChild)

target是父节点,newChild是要插入到existingChild节点之前的节点。

target.appendChild(newChild)

target是父节点,newChild是要插入到所有子节点之后的节点。

在IE下,使用 insertBefore 时,第二个参数,也就是 existingChild 可以被省略。

而在 Chrome 与火狐下,第二个参数必须写上。

Chrome 报错: Uncaught TypeError: Failed to execute ‘insertBefore‘ on ‘Node‘: 2 arguments required, but only 1 present.

火狐报错: TypeError: Not enough arguments to Node.insertBefore


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11466670.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存