2016-12-22 1 views
0

に私はスライダーのオプションの内部変数thisがオブジェクトにアクセスしようとしているが、これは動作していない:のアクセス「この」オブジェクト

$('.slider').slider({ 
    prevButton: $(this).find('.prev'), 
    nextButton: $(this).find('.next'), 
}); 

しかし、私はこれにそれを変更した場合、それは動作します:

$('.slider').slider({ 
    prevButton: $('.slider').find('.prev'), 
    nextButton: $('.slider').find('.next'), 
}); 

$(this)$('.slider')はオブジェクト内にある場合はありませんか?その場合、thisにどうすればアクセスできますか?そのターゲットの中にあるボタンを特に参照してください。

答えて

2

あなたは関数を渡す必要があります。

$('.slider').slider({ 
    prevButton: (function() { 
        return $(this).find('.prev'); 
       })(), 
    nextButton: (function() { 
        return $(this).find('.next'); 
       })(), 
}); 

それとも、最高の加工方法.each()を使用している:

$(".slider").each(function() { 
    var $this = $(this); 
    $this.slider({ 
    prevButton: $this.find('.prev'), 
    nextButton: $this.find('.next') 
    }); 
}); 
関連する問題