在我的 HTML 中,我有一个内容 div,其中包含由 php 脚本创建并使用 JQuery 和 Javascript 处理的文章。使用 Javascript,我使用“getElementsByClassName”函数将这些文章收集到一个数组中。我在这里编写的脚本和 HTML 已经过简化。我需要这个数组,因为我试图使如果数组的长度大于 10,则每页仅显示 10 篇文章。所以第 1 页将是数组的索引 0 到 9,第 2 页的索引是 10 到 19,等等。现在,
拿这个 html 代码。
<body>
<div id="content">
<div class="article">
<p>Article 1</p>
</div>
<div class="article">
<p>Article 2</p>
</div>
<div class="article">
<p>Article 3</p>
</div>
</content>
</body>
还有这个 Javascript 代码。
$.post("getarticles.php",{ page:"home" } ,function(data){
//place the content
document.getElementById("content").innerHTML = jQuery.trim(data);
//put elements in array
arrArticles = document.getElementsByClassName("article");
alert(arrArticles.length);
document.getElementById("content").innerHTML = "";
alert(arrArticles.length);
})
第一个警报给我“3”,这是正确的。但第二个警报给我“0”。为什么在将元素放入其中后数组会丢失其元素?
顺便说一句,“数据”变量是一个由 php 脚本传递的 HTML 字符串。例如:在 php 脚本中我有代码
echo "<div class="article"><p>Article 1</p></div><div class="article"><p>Article 2</p></div><div class="article"><p>Article 3</p></div>"
&
document.getElementById("contentWrap").innerHTML = "";
我知道这是导致问题的原因,但我不知道为什么。任何人都可以解释或提供替代方案吗?
提前致谢