jQuery clone()函数在插件中的奇怪行为

jQuery clone()函数在插件中的奇怪行为,jquery,Jquery,我在jQuery中的clone()函数中遇到了一个奇怪的问题,我无法找出原因 我正在尝试创建一个slider jQuery插件,在这个插件中我克隆了第一个slider元素并将其附加到slider容器中。 当页面上只有一个滑块时,这一切都非常有效。 但是当页面上有两个滑块时,clone()函数似乎会将克隆的元素附加到两个滑块上。 结果是,每个滑块都有两个额外的元素,并且克隆了一个类,而不是一个 我正在将我的插件代码包装在this.each(function(){…} 接下来,我从$(this)中定

我在jQuery中的
clone()
函数中遇到了一个奇怪的问题,我无法找出原因

我正在尝试创建一个slider jQuery插件,在这个插件中我克隆了第一个slider元素并将其附加到slider容器中。 当页面上只有一个滑块时,这一切都非常有效。 但是当页面上有两个滑块时,
clone()
函数似乎会将克隆的元素附加到两个滑块上。
结果是,每个滑块都有两个额外的元素,并且克隆了一个类
,而不是一个

我正在将我的插件代码包装在
this.each(function(){…}

接下来,我从
$(this)
中定义slider变量,在插件中的每个jQuery选择中,我将上下文作为第二个参数传递:
$('.slider item',slider)

据我所知,应该可以找到,并且应该只使用
滑块
(因此
$(此)
)上下文将克隆的元素附加到
滑块容器

请告诉我我做错了什么

以下是指向代码笔的链接:

下面是不喜欢codepen的人的代码:

我有以下HTML标记:

<div class="container">
  <div class="slider">
    <ul class="slider-container">
      <li class="slider-item">1</li>
      <li class="slider-item">2</li>
      <li class="slider-item">3</li>
    </ul>
  </div>
  <div class="slider">
    <ul class="slider-container">
      <li class="slider-item">1</li>
      <li class="slider-item">2</li>
      <li class="slider-item">3</li>
    </ul>
  </div>
</div>
<script type="text/javascript">
    $('.slider').slider();
</script>

您确定appendTo支持具有多个参数的语法吗

也许,你应该试试这个:

.appendTo(slider.find('.slider-container'))

天哪,我真不敢相信我没试过。它真的很有效……非常感谢!
.appendTo(slider.find('.slider-container'))