jQuery - 循环div从一个链接中提取url然后将其添加到另一个链接

时间:2011-01-24 12:50:26

标签: javascript jquery url loops

我需要创建一个函数,从一个链接获取url并将其应用于同一div中的另一个链接。我可以让它循环,但它总是将最后一个变量分配给所有链接。

以下是代码:

$.fn.getLink = function() { 

    $('a.firstlink').each(function(){

         var linkHref= $(this).attr('href');

         ('a.secondlink').attr('href', linkHref)

    });

}

$('div.containing-links').each(function(){

    $(this).getLink();

});

帮助表示赞赏。

感谢您的快速解答,为了让它更简单,这里的代码是正确添加链接但重复最后一个href变量到所有这些:

$( 'a.firstlink')。每个(函数(){

var linkHref= $(this).attr('href');

$('a.secondlink').attr('href', linkHref);

    });

如何将其一次性应用于每个

2 个答案:

答案 0 :(得分:2)

您的问题是$('a.secondlink')抓取了网页上的所有链接。只是因为它在每个循环中并不意味着它的范围是任何东西。

只需将$('a.secondlink').attr('href', linkHref)更改为$(this).siblings('a.secondlink').attr('href', linkHref);

即可

答案 1 :(得分:1)

我不认为这是编写插件的好地方。您应该在.each() loop

中直接进行
$('div.containing-links').each(function(){
    var $self    = $(this),
        $first   = $self.find('a.firstlink'),
        $second  = $self.find('a.secondlink');

    if( $first.length && $second.length )
        $second[0].href = $first[0].href;
});