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