首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在遍历XML HTML对象时获取数字?

在遍历XML HTML对象时获取数字?
EN

Stack Overflow用户
提问于 2018-09-24 03:01:26
回答 2查看 38关注 0票数 0

我得到了一系列遍历javascript对象的数字,我试图理解其中的原因。

下面是我的代码:

代码语言:javascript
复制
var x = new XMLHttpRequest();
x.open("GET", "https://rsshub.app/instagram/user/jasminealkouri/", true);
x.onreadystatechange = function () {
    if (x.readyState == 4 && x.status == 200)
    {
        var doc = x.responseXML;
        var titleArray = doc.getElementsByTagName("channel")[0].getElementsByTagName("title");

        for (var prop in titleArray) {
            var webString = webString + "<br>" + prop;
        }


        document.getElementById("mainP").innerHTML = webString;
    }
};
x.send(null);

我得到的输出是:

代码语言:javascript
复制
undefined
0
1
2
3
4
5
6
7
8
9
10
11
12
length
item
namedItem

Undefined的第一行我理解,但其余的我不知道为什么要表示它。我在网上找过了,什么也找不到。如果有人能给我指出正确的方向,那就太好了。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-09-24 03:10:02

您正在迭代一个数组,并打印出该数组的索引。您应该这样做:

var webString = webString + "<br>" + titleArray[prop].innerHTML;

尝试在for循环之前对titleArray执行console.log,以了解您正在循环的元素。

票数 0
EN

Stack Overflow用户

发布于 2018-09-24 03:23:03

因为您使用的是for key-in-obj循环。浏览这些文档和

for key-in-obj给出的是对象的索引,而不是值。

代码语言:javascript
复制
    for (var prop in titleArray) { // prop here is index not value at index
        var webString = webString + "<br>" + prop;
    }

将其替换为:

代码语言:javascript
复制
for (var prop of titleArray) {
    var webString = webString + "<br>" + prop;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52469321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档