1

Slimboxを使用して、重複する画像(1つのサムネイルと1つのフルサイズ)を作成する必要がないようにしています。

「サムネイル」画像を100%の幅と高さの「自動」に拡大縮小しているので、すべてが親コンテナにうまく収まり、サムネイルサイズに拡大縮小されます。クリックすると、ライトボックス内のフルサイズの画像が開きます。その部分は行ってもいいです。

私が改善したいのは、2つの画像間の実際の関係です。現在私は持っています

<a href="path/to/image.jpg" rel="lightbox" title="some title">
<img src="path/to/image.jpg">

彼らは同じ画像を使用しているので、プログラムでデータを入力したいと思います

<a href="XXX">

画像ソースと同じパスで。兄弟セレクター「.next」を使用してこれを実行し、それ自体にクラスを追加できると思います。

$(function(){
    $('a.foo').each(function() {
        $(this).next('img').attr('href', this.href);
    });
});

明らかにそれは機能していません、構文は正しくありません。誰かがこれを行うための良い方法を提案できますか?どうも!

4

1 に答える 1

1

あなたは右側にいて、コードに構文エラーはありませんが、画像には属性がありませんhref。属性を変更する必要がありsrcます。これを試してください:

$(function() {
    $('a.foo').each(function() {
        $(this).next().attr('src', this.href);
    });
});

$(function() {
    $('a.foo').each(function() {
      var src = $(this).find('img').attr('src');
      $(this).attr('href', src)  
    });
});

デモ

于 2012-08-15T20:43:48.300 に答える