说我有500个这样的对象(线):
<object id="5700" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>
现在,对于500行的整个“块”,我想在 posY 中添加20行。
我该怎么做?
答案 0 :(得分:0)
您可以使用多种方法来执行此操作,一种方法是添加一个通用选择器(例如class或attr),或者使用getElementsByTagName('object')
遍历对象并使用更改后的值设置属性。
请看下面的代码作为示例。
const myObjects = document.querySelectorAll('.myObject');
myObjects.forEach( object => {
let currentPosX = object.getAttribute('posX');
object.setAttribute('posX', parseInt(currentPosX, 10) + 20)
})
console.log(myObjects);
<object id="5700" class="myObject" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>
<object id="5701" class="myObject" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>
<object id="5702" class="myObject" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>
<object id="5703" class="myObject" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>
答案 1 :(得分:0)
您可以使用SimpleXMLElement类创建具有可修改参数的对象。
尝试在php文件中尝试使用此示例:
$xml_fragment = '<object id="5700" interior="0" doublesided="false" model="1890" dimension="0" posX="400" posY="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>';
$XML = new SimpleXMLElement($xml_fragment);
for ($i=0; $i<500; $i++){
$XML['posY']=$XML['posY']+20;
echo $XML->asXML();
}
在您的情况下,您将遍历现有对象,为每个字符串创建一个新的$ XML对象,在该对象的“ posY”参数上添加20,然后输出到需要的位置。