JavaScript for循环只循环一次

时间:2015-01-21 10:06:21

标签: javascript html accordion

我在JavaScript中有一个for循环,它循环遍历CSS菜单手风琴中的值。它正确地设置了第一个,但它没有继续循环,我似乎无法弄清楚它停止的原因或位置。当我检查输出到控制台时,它已经到了第一个循环的末尾。我知道我不应该将ID设置为数字,但目前我最好的想法是如何在没有代码加载的情况下设置ID递增。 JavaScript函数是:

function displayInfo()
{
    x=xmlDoc.getElementsByTagName("blogPost");

    var count = 1;
    document.getElementById("start").id = count;

    total = x.length;

    for(i=0; i<total;i++)
    {
        document.getElementById(count).id = count;

        title=(x[i].getElementsByTagName("postTitle")[i].childNodes[i].nodeValue);
        document.getElementById("title").href=title;
        document.getElementById("title").innerHTML=title;

        text=(x[i].getElementsByTagName("postText")[i].childNodes[i].nodeValue);
        document.getElementById("text").innerHTML=text;


        quote=(x[i].getElementsByTagName("postQuote")[i].childNodes[i].nodeValue);
        document.getElementById("quote").innerHTML=quote;

        link=(x[i].getElementsByTagName("postLink")[i].childNodes[i].nodeValue);
        document.getElementById("link").innerHTML=link;

        date=(x[i].getElementsByTagName("postDate")[i].childNodes[i].nodeValue);
        document.getElementById("date").innerHTML=date;

        tags=(x[i].getElementsByTagName("postTags")[i].childNodes[i].nodeValue);
        document.getElementById("tags").innerHTML=tags;

        count = count + 1;
    }
}

这在

上运行
<body onload="displayInfo()">

然后在

中设置值
<article class="accordion">

        <section id="start">

            <h2><a href="/" id ="title"></a></h2>
            <p id="text"></p>
            <p id="quote"></p>
            <p id="link"></p>

            <b id="foot"><p id="date"></p></b>
            <b id= "foot"><p id="tags"></p></b>

        <section>
        </article>

我不确定是不是因为它是在页面加载时调用的,但是无论我把它放在哪里它都没有按预期工作,这是我得到的最接近的。 感谢您在我出错的地方提供任何帮助!

0 个答案:

没有答案