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