2

ユーザーが以前にクリックした別の画像に応じて、画像のソースを取得しようとしています。

<div class="card1">
    <div>
    <a href="#" class="quickFlipCta"><img class="back" src="Memory Pals/Test Pictures/QuestionMark.gif" /></a>
    </div>

    <div>
    <a href="#" class="quickFlipCta"><img class="front" src="Memory Pals/Test Pictures/flower.gif" /></a>
    </div>
</div>

<div class="card2">
    <div>
    <a href="#" class="quickFlipCta"><img class="back" src="Memory Pals/Test Pictures/QuestionMark.gif" /></a>
    </div>

    <div>
    <a href="#" class="quickFlipCta"><img class="front" src="Memory Pals/Test Pictures/flower.gif" /></a>
    </div>
</div>

私の特定の例では、「戻る」がクリックされたときに「前」のソースを取得しようとしています。また、同じカードの「フロント」のソースを取得する必要があります。

これは私が試したものですが、動作させることができません:

$(document).ready(function(){

        var found = 0;
        var last = null;

        $('img').each(function(index){
          $(this).attr('id','img-' + index);
        });    

        $('img').click(function(){
          if( last ) {
            if( ($(this).attr('src') == last.attr('src')) ) {
              $(this).css('visibility', 'hidden');
              last.css('visibility', 'hidden');
              found++;
            }
            if (found == 3) {
            window.location.href = "#play2"; 
            location.reload(); //resets found to 0
            }
            last = null;
          } else {
            last = $(this);
          }
        });

「正面」のソースを取得しているのではなく、ユーザーがクリックした画像のソースを取得しているだけだと思います。「戻る」をクリックしたときに「前面」のソースを取得するように変更するにはどうすればよいですか?

4

2 に答える 2

2

ここにあなたを正しい方向に向けるかもしれない何かがあります:

$('img.back').click(function () {
    var frontSrc = $('img.front').first().attr('src');
    alert('The source for \'front\' is ' + frontSrc);
    }
}); // end .click handler

jQuery 関数を使用hasClassして、クリックした要素に「back」クラスがあるかどうかを調べます。次に、img.frontセレクターを使用してフロント クラスの画像を見つけ、そのソースを取得します。

于 2012-07-06T16:25:44.483 に答える
1

これはあなたが探しているものですか?

$('img').click(function(){
    console.log($(this)
           .closest('div[class*=card]') // <-- get closest div with class containing card
           .find('div > a > img') // <-- find all img under that div
           .not(this) // <-- filter out the clicked one
           .attr('src')); // <-- get src of the image not clicked under same div with class containing card
});​

http://jsfiddle.net/gweVT/

于 2012-07-06T16:29:33.790 に答える