Javascript getElementsByTagName Jquery

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

我似乎无法访问以下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>
有人能看出我哪里出了问题吗

我在控制台中遇到以下错误:

无法读取未定义的属性“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("&pound;"+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("&pound;"+ThreeMonthPrice);