使用document.write()更改整数值

时间:2014-01-16 19:12:34

标签: javascript xml

我有以下XML:

 <beanRepresentation>
     <beanRepId>222</beanRepId>
     <beanRepName>Bean 1</beanRepName>
     <topY>10</topY>
     <leftX>10</leftX>
     <height>10</height>
     <width>10</width>
 </beanRepresentation>

此行获取topY的值:

document.write(x[i].getElementsByTagName("topY")[0].childNodes[0].nodeValue);

这会给我一个10,但我想要一个20,我试着

document.write(x[i].getElementsByTagName("topY")[0].childNodes[0].nodeValue +10);

但它不起作用,它给了我1010而不是。我该怎么做才能操纵这个号码?

1 个答案:

答案 0 :(得分:1)

nodeValue返回的值是一个字符串(请参阅,例如MDN on this),因此您正在执行字符串连接而不是添加。您应该将结果转换为之前的数字:

document.write( parseInt( x[i].getElementsByTagName("topY")[0].childNodes[0].nodeValue, 10)  + 10);

无论如何,我建议你阅读这个问题的答案:Why is document.write considered a "bad practice"?