Javascript 如何将`$(this)`传递给Slick.js插件(并使用循环创建多个旋转木马)

Javascript 如何将`$(this)`传递给Slick.js插件(并使用循环创建多个旋转木马),javascript,jquery,carousel,Javascript,Jquery,Carousel,如何将$(this).find('.option')和$(this).find('.prev_next')传递到?以下操作会产生:语法错误,无法识别的表达式:[object object]:在jquery-2.1.0.js:1429中没有(.slick cloned) $('.test')。每个(函数(){ var option=$(this.find('.option'), prev_next=$(this).find('.prev_next'); 美元(这个)({ 幻灯片:选项, 附录箭

如何将
$(this).find('.option')
$(this).find('.prev_next')
传递到?以下操作会产生:
语法错误,无法识别的表达式:[object object]:在jquery-2.1.0.js:1429中没有(.slick cloned)

$('.test')。每个(函数(){
var option=$(this.find('.option'),
prev_next=$(this).find('.prev_next');
美元(这个)({
幻灯片:选项,
附录箭头:上一页下一页,
prevArrow:“上一个”,
下一行:“下一个”
});
});

试验

试验

试验

试验

试验

试验


看起来您不需要预先创建jQuery集合,而只需将选择器字符串作为
幻灯片
附录箭头

您还需要唯一地标识上一个容器和一些选项,因为slick需要一个选择器,而不是这些参数的元素/集合

请参见此处的固定JSFIDLE

固定代码如下:(此版本使用原始标记,并动态为每个转盘分配ID以保持其“干净”)

$('.test')。每个(函数(idx,项){
var carouselId=“carousel”+idx;
this.id=旋转木马;
美元(这个)({
幻灯片:“#”+旋转木马+”。选项“,
附录箭头:“#”+旋转木马+”。上一步“,
prevArrow:“上一个”,
下一行:“下一个”
});
});
.prev\u下一个{显示:内联块;宽度:80px;文本对齐:中心;边距:2px;边框:0;填充:4px;背景色:#666;颜色:#fff;}

试验

试验

试验

试验

试验

试验


看起来应该能用。提到错误的代码在哪里?我不知道,我所看到的只是对
jquery-2.1.0.js:1429
的引用。它仍然是坏的:--这里是预期的输出,只有一个
。test
div:但是这样一来,上一个/下一个链接都被弄乱了。请参阅上面的预期输出。再次感谢,但请注意,在我的问题中,我有3个滑块,每个滑块都有自己的prev_next。非常感谢!不过,我会把这个问题再讨论一段时间,希望有人能提出一个稍微干净一点的解决方案。干杯现在试试看:它现在更干净了(不会修改您的原始标记),但会动态地将
id
分配给每个旋转木马,然后在选择器中使用该id来获取正确的选项和上一个容器。刚刚遇到这个问题……您在一次实时危机中救了我。非常感谢。