在我的HTML中,我有一個內容div,其中包含由php腳本創建的文章並使用JQuery和Javascript進行處理。使用Javascript,我使用'getElementsByClassName'函數將這些文章收集到一個數組中。 我在這裏寫的腳本和HTML被簡化了。我需要這個數組,因爲我試圖做到這一點,如果數組的長度大於10,每頁只顯示10篇文章。因此第1頁將是數組索引0至9,第2頁索引10至19等。 現在,放入數組後丟失數組元素.innerHTML =「」
請取這個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」。爲什麼數組在元素放入之後會失去它的元素?
順便說一下,'data'變量是一個由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 = "";
我知道這是造成問題,但我不知道爲什麼。任何人都可以解釋或提供替代?
在此先感謝
什麼元素具有ID'contentWrap'? – SomeKittens
順便說一句:你已經有了jQuery,所以使用$('#article')而不是document.getElementById。 –
如果你打算在之後清空內容,他們爲什麼插入它開始?只是'$(data).find('。article')。length' – loganfsmyth