gpt4 book ai didi

javascript - getElementsByTagName 'undefined' 在 Firefox 和 Chrome 中?

转载 作者:行者123 更新时间:2023-11-30 08:58:04 25 4
gpt4 key购买 nike

我在使用 getElementsByTagName 时遇到问题。我正在尝试使用 ajax 从服务器收到的 xml 文件中提取信息。在 IE 中它运行良好,但当我尝试在 Chrome 或 FireFox 上运行它时,我得到一个“未定义”。

Javascript:

function parseMessage()
{
doc = request.responseXML;
sum = "";

for (var i=0; i< doc.getElementsByTagName('coupon').length; i=i+1)
{
var lat2 = doc.documentElement.getElementsByTagName('latitude').item(i).text;
var longi2 = doc.documentElement.getElementsByTagName('longitude').item(i).text;
var latlng = new google.maps.LatLng( lat2 , longi2 );
var product = doc.documentElement.getElementsByTagName('productname').item(i).text;
// marker[i] = createMarker(map2, product, latlng, description);

sum = sum + description+ " "+ product + lat2 + longi2;
}

document.write(sum);
}

XML:

<?xml version="1.0" encoding="UTF-8"?>
-<coupons>
-<coupon id="1">
<productname>Bigmac</productname>
<companyname>Macdonalds</companyname>
<latitude>32.015954</latitude>
<longitude>34.755228</longitude>
</coupon>
-<coupon id="2">
<productname>Crocs</productname>
<companyname>Crocs</companyname>
<latitude>32.079375</latitude>
<longitude>34.769325</longitude>
</coupon>
-<coupon id="3">
<productname>Nike Shoks</productname>
<companyname>NIKE</companyname>
<latitude>32.048825</latitude>
<longitude>34.785461</longitude>
</coupon>
-<coupon id="4">
.....

最佳答案

第一个问题是 getElementsByTagName() 返回一个元素列表;它不能作为一个组进行操作,所以你必须选择一个特定节点来工作:

getElementsByTagName('latitude')[0]; // for the first element.

第二个问题是:

getElementsByTagName('latitude')[0].item(i);

应该用于访问特定元素的属性或属性,item(i) 既不是,也可能在某些地方设置/使用它我们没有看到。

如果您尝试访问元素的子元素之一(并且在您发布的代码中 latitude 元素没有任何子元素),您可以使用:

getElementsByTagName('latitude')[0].childNodes[i];

text() 不会返回或执行纯 JavaScript 中的任何内容。如果您使用的是 jQuery text() 方法,那么它仅适用于 jQuery 对象,如果您尝试访问当前节点的文本内容,则:

getElementsByTagName('latitude')[0].textContent; // for Firefox, Chrome...

或者:

getElementsByTagName('latitude')[0].innerText; // for IE

关于javascript - getElementsByTagName 'undefined' 在 Firefox 和 Chrome 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11711818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com