0

私はまだjQueryを学習しており、動的に生成された各リンクをDiv内の前の静的リンクと同じURLにしようとして立ち往生しています。コードは、生成されたすべてのリンクに同じURL(#1)を適用しているようですが、2番目の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 に答える