访问变量'这个'在对象

时间:2016-12-22 22:37:06

标签: jquery

我试图访问滑块选项对象中的变量this,但这不起作用:

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

但如果我改变它,它就有用了:

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

$(this)是否在对象内时没有引用$('.slider')?如果是这种情况,我如何访问this所以我特别提到该目标内的按钮?

1 个答案:

答案 0 :(得分: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')
  });
});