Javascript getElementsByTagName Jquery
我似乎无法访问以下XML子/节点:Javascript getElementsByTagName Jquery,javascript,xml,dom,Javascript,Xml,Dom,我似乎无法访问以下XML子/节点: <quotation> <length category="3month"> <newprice>test1</newprice> <save><?php echo number_format((($ThreeMonthPrice*12)+35),2)?></save> <payments><?php echo number_format($Thr
<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>
有人能看出我哪里出了问题吗
我在控制台中遇到以下错误:
无法读取未定义的属性“childNodes”
谢谢
为了解决这个问题,我不得不使用许多getElementsByTagName
现在一切正常。您的问题是使用XML文件内容作为html,在JSFIDLE的结果框中显示XML内容而不是javascript代码的结果,并且在控制台中,您可以看到错误数据未定义: 我试图修复它,首先我不在JSFIDLE中编辑包含xml文件内容的html框,JSFIDLE在结果框中的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);
检查这里数据定义在哪里/如何定义您可以发布一个提琴吗?它似乎要带回所有元素?不明白为什么要用jQuery标记它,但ok。如果你有“太多的
getElementsByTagName
”(不管是什么),那么问题可能是太本地化了。这不是jQuery代码。甚至没有一丝jQuery的味道。这似乎不惜一切代价避免了jQuery。
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);