我似乎无法访问以下XML子节点:
<quotation>
<length category="3month">
<newprice>test1</newprice>
<save><?php echo number_format((($ThreeMonthPrice*12)+35),2)?></save>
<payments><?php echo number_format($ThreeMonthPrice,2)?></payments>
<price><?php echo number_format($ThreeMonthPrice,2)?></price>
</length>
<length category="6month">
<newprice>test1</newprice>
<save><?php echo number_format((($SixMonthPrice*12)+35),2)?></save>
<payments><?php echo number_format($SixMonthPrice,2)?></payments>
<price><?php echo number_format($SixMonthPrice,2)?></price>
</length>
</quotation>
这是我的jQuery代码:
ThreeMonthPrice=data.getElementsByTagName("price")[0].childNodes[0].nodeValue;
SixMonthPrice=data.getElementsByTagName("price")[1].childNodes[0].nodeValue;
有人能找到我错的地方吗?
我在控制台中收到以下错误:
无法读取未定义
的属性'childNodes'谢谢,
管理来修复此问题,我必须使用许多getElementsByTagName。
现在一切正常。
答案 0 :(得分:0)
您的问题是您使用XML文件内容作为html并在jsfiddle的结果框中显示您的xml内容而不是您的javascript代码的结果,并且在控制台中您可以看到错误数据未定义:
我尝试修复它,在第一个我不编辑jsfiddle的html框中有你的xml文件内容和jsfiddle在结果框中写入body标签中的所有代码然后如果我得到了body的内容我得到所有的xml内容为字符串,然后我用一个小的javascript函数将字符串内容转换为xml内容然后我使用您的查询来查找价格标签,然后将其写入正文。
function StringtoXML(text){
if (window.ActiveXObject){
var doc=new ActiveXObject('Microsoft.XMLDOM');
doc.async='false';
doc.loadXML(text);
} else {
var parser=new DOMParser();
var doc=parser.parseFromString(text,'text/xml');
}
return doc;
}
//example of application:
var doc = StringtoXML($(document.body).html());
ThreeMonthPrice=doc.getElementsByTagName("price")[0].childNodes[0].nodeValue;
$(document.body).html("£"+ThreeMonthPrice);