0

DIVのセットがあり、それぞれに空のアンカータグがラップされた画像が含まれています

<a href="#"> Image is here </a>

次に、divが閉じる直前に「続きを読む」リンクがあります

<a href="?p=453">Continue reading <span class="meta-nav">→&lt;/span></a>

ページが読み込まれたときに、続きを読むhrefボタンの場所を指定して、空のアンカーが画像を包み込むように適用する方法はありますか?

デモ: http://jsfiddle.net/2hu66/1/

4

4 に答える 4

0
$('.card-prod').each(function() {
    var cr = $(this).find('a:last');
    $(this).find('.cardclick').attr('href', cr.attr('href'));
});

フィドルの例: http://jsfiddle.net/2hu66/4/

于 2012-04-19T08:50:36.817 に答える
0

それは可能ですが、良い考えではありません。js で作成されたリンクは、Google クローラーには表示されません。これを行う正しい方法は、「#」の代わりに実際のリンクを作成することです。

面白くないことを正しく行う;)。

于 2012-04-19T08:51:02.297 に答える
0

HTMLに基づいて、これを行うことができます:

​$(function(){
    $('.card-prod').each(function(){                         //for each item
        var theLink = $('a[href^="?p"]',this).attr('href');  //get the link
        $('a.cardclick',this).attr({'href':theLink});        //set to img link
    });
})​​
于 2012-04-19T08:54:10.390 に答える
0

おそらく次のように、「続きを読む」リンクをループして、その href をコピーできます。

​$(​"div.card-prod a:contains('Continue reading')")​​​​​​​​​​​​​​​​​​​​​​​​​​.each(function() {
    var $this = $(this);
    $this.closest("div.card-prod")
         .find("a.cardclick")
         .attr("href", $this.attr("href"));
});​

更新されたデモ: http://jsfiddle.net/2hu66/3/

上記で使用した:containsセレクターは、最も効率的な方法ではありませんが、機能します。それが私のhtmlだったら、おそらくそれらの「読み続ける」アンカー要素に共通のクラスを与えて、それを選択するでしょう。または、「meta-nav」スパンを選択して、その親を取ることもできます。(本当にたくさんのオプションがあります。)

于 2012-04-19T08:54:25.460 に答える