[英]Determine # of items in jQuery array and loop through them?
我有一個AJAX腳本,該腳本從PHP返回的mySQL查詢中接收字符串。 然后,將這個字符串解析並放入Jquery中的數組中,然后使用.html()將結果打印到屏幕上
該數組的長度從0項到很多項不等,我如何計算數組中的項,然后遍歷並打印到屏幕上。
盡管我仍然不確定for循環是在.html()函數內部還是外部,但這是根據以下建議的更新代碼。
包含.each()的更新代碼
更新2: .html()函數中的(this)替換為我要寫入文本的元素,它可以部分工作,問題是現在它僅打印數組中的最后一項嗎?
更新3:似乎只能運行一個.html()函數,例如,如果我在返回數組最后一項的語句下添加另一個.html()語句,則現在僅在屏幕上回顯測試值。
$("#n_detail").html(partsArray[index]+"<br />").addClass('jText').fadeTo(900,1);
$("#n_detail").html("Test").addClass('jText').fadeTo(900,1);
它只會打印“ Test”,而不是以前的數組中的最后一項?
<script type="text/javascript">
$(document).ready(function() {
$("#primary").change(function()
{
$.post("lib/ajax_load_job_detail.php",{ _primaryid_n:$(this).val() } ,function(data)
{
var string = data;
var partsArray = string.split('|');
$("#n_detail").fadeTo(200,0.1,function() //start fading the messagebox
{
$.each(partsArray, function(index) {
$("#n_detail").html(partsArray[index]+"<br />").addClass('jText').fadeTo(900,1);
});
});
});
});
});
數組partsArray [0] 12/12/2005,partsArray [1]的樣本值這是12月的樣本注釋,依此類推...
partsArray.length
將為您提供數組中的項目。 您可以使用
for(var i=0;i<partsArray.length;i++){
或使用jQuery插件
$.forEach
這是一個典型的循環結構:
var partsArray = string.split('|');
for(var x=0;x<partsArray.length;x++) {
//...your code ...
//x is the index., so partsArray[x] is the current element
}
如果要遍歷數組,則可以使用jQuery函數each()。
這是文檔的鏈接: http : //api.jquery.com/jQuery.each/
這是使用您的數組的文檔示例:
$.each(partsArray, function(index, value) {
alert(index + ': ' + value);
});
編輯 -根據OP添加到另一個答案的注釋,這是使用OP代碼的更好示例:
$.each(partsArray, function(index, value) {
value.addClass('jText').fadeTo(900,1);
});
編輯2-您需要代碼的一部分是循環中arry的每個元素,並根據您的編輯,我認為它應如下所示:
$.each(partsArray, function(index) {
$(this).append(partsArray[index]+"br />").addClass('jText').fadeTo(900,1);
}
干杯,
詹姆士
for ... in
,它比jQuery的$.each
方法快得多,並且沒有太大區別-它為您提供i
項目的索引,而不是值。
for (var i in partsArray)
{
// You can access values via...
console.log( partsArray[i] );
// Alternatively, this will make it an exact clone of $.each
var value = partsArray[i];
console.log( value );
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.