合并两个jQuery函数

时间:2009-11-06 10:42:14

标签: jquery

我有两个函数可以从html中提取一些内容并将其返回到正文中。

$(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>');

非常感谢任何帮助

提前谢谢

1 个答案:

答案 0 :(得分: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>');
    } 
});

(如果2个数组的长度不同,您可以在追加bdy之前添加一个检查)