2009-11-06 97 views
1

我有兩個函數從html中提取一些內容並將其返回到主體中。合併兩個jQuery函數

$(document).ready(function() { 

    var b = []; 
    $('.avatar_ name').each(function(i,e) { 
     b[i] = $(this).text(); 
    }); 

    $('body').empty(); 
    for (var i = 0, j = b.length; i < j; i++) { 
     $('body').append(b[i] + '<br>'); 
    } 


}); 
(document).ready(function() { 
var a = []; 
    $('a.avatar_user').each(function(i,e) { 
     a[i] = $(this).attr('href'); 
    }); 

    $('body').empty(); 
    for (var i = 0, j = a.length; i < j; i++) { 
     $('body').append(a[i] + '<br>'); 
    } 
}); 

我試圖做的結果是這兩個功能合併到一起,結果得到這樣的:

$('body').append(a[i] + b[i] + '<br>'); 

任何幫助非常讚賞

預先感謝您

回答

3

ready(fn)JQuery中的一個特殊功能,可以寫入一個或多個塊。如果寫入很多塊,則每個塊都不能訪問其他變量。
你的情況最好是寫一個函數:

$(document).ready(function() { 

    var a = []; 
    var b = []; 

    $('a.avatar_user').each(function(i,e) { 
     a[i] = $(this).attr('href'); 
    }); 

    $('.avatar_ name').each(function(i,e) { 
     b[i] = $(this).text(); 
    }); 

    $('body').empty(); 
    for (var i = 0, j = a.length; i < j; i++) { 
     $('body').append(a[i] + b[i] + '<br>'); 
    } 
}); 

(如果兩個陣列具有不同的長度,你可以附加到BDY之前增加一個檢查)