0

我仍在学习 jQuery,我一直试图让每个动态生成的链接与 Div 中的前一个静态链接具有相同的 URL。该代码似乎将相同的 URL (#1) 应用于所有生成的链接,而在第二个 Div 上我需要它是#2。

代码:

$(document).ready(function() {
$('.sorter > div p').append('<a class="rdm">Read More</a>');
$('a.rdm').each(function() {
    var lnk = $('.sorter > div').find('a').attr('href');
    $(this).attr('href', '' + lnk);
});
});

HTML:

<div class="sorter">
<div><a href="#1">link A</a><p>some text </p></div><br /><br />
<div><a href="#2">link B</a><p>some text </p></div>
</div>

非常感谢您的帮助!

4

3 回答 3

2

使用范围选择器可以帮助您单独处理每个 div。这是一个带有工作解决方案的 jsfiddle:http: //jsfiddle.net/tuAUb/

$(document).ready(function() {
    $('.sorter > div').each(function() {
        $('p', this).append('<a class="rdm">Read More</a>');
        var lnk = $(this).find('a').attr('href');
        $('a.rdm', this).attr('href', lnk);
    });
});
于 2013-02-14T17:02:13.790 回答
0

尝试这个。当你这样做时,each我使用锚的索引来生成它href

$(document).ready(function() {
    $('.sorter > div p').append('<a class="rdm">Read More</a>');
    $('a.rdm').each(function(i) {
        $(this).attr('href', '#' + (i + 1));
    });
});
于 2013-02-14T16:54:11.953 回答
-1

哦,我想你需要这个:http: //jsfiddle.net/GSgz5/

 var lnk = $(this).parent().siblings('a').attr('href'); //<--get href this way
 $(this).attr('href', lnk);
于 2013-02-14T16:52:06.823 回答