javascript - Html 集合具有 .length 但未定义 .item(*)

标签 javascript

我有一个调用 xml 页面的函数,通过标签名称挑选元素,然后我试图回调一个特定的元素。到目前为止的代码是:

var xmlDoc = loadXMLDoc("test.xml");
var x = xmlDoc.getElementsByTagName("tagname");
var PittWins = x.item(2); 

这会回来[对象元素]

var xmlDoc = loadXMLDoc("test.xml");
 var x = xmlDoc.getElementsByTagName("tagname");
var PittWins = x[2].data; 

上面的代码给我未定义。

var xmlDoc = loadXMLDoc("nhl.xml");
var x = xmlDoc.getElementsByTagName("tagname");
var PittWins = x.length;

当在上面输入时,我得到一个正确的结果。

我试图理解为什么它给我一个长度而不是一个特定的节点..

最佳答案

var PittWins = x[2]; 呢?


回复:OP 编辑​​

你是说 x.item(2)x.length 返回你期望的,但是 x[2].data 不是吗?为什么您希望该元素具有 data 属性?您是否正在尝试编写 x.item(2) 的括号版本?

x.item(2) 等价于x[2]
x.item(2).data 等同于 x[2].data

你想做什么?此外,您在不同的示例中使用了不同的 XML 文件名和标签名。这是故意的吗?


编辑 #2

要检索元素的文本内容,请使用 Node.textContentNode.nodeValue .您的代码可能如下所示:

var PittWins = x[2].textContent;

关于javascript - Html 集合具有 .length 但未定义 .item(*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4737769/

相关文章:

javascript - 如何有条件地将一组 Prop 添加到 react 组件?

javascript - 如何在 Jasmine 测试中从 beforeEach 获取当前规范的句柄?

javascript - jQuery 用另一个 on() 事件覆盖一个 on() 事件

javascript - 如何使用 PHP、Jquery 或任何 API 获取 Android 应用程序 ID 或名称?

javascript - 协调字符串的两个版本

javascript - 在 javascript 和 angularjs 翻译中编写 html 不起作用

javascript - angularjs 无法更新下拉列表更改时的指令

javascript - 在 React 组件外声明一个 const 以在不同的地方使用它

使用 Google Analytics 进行 JavaScript A/B 测试

javascript - 没有数据时如何设置条件