Zepto's clone()函数不能正常工作或不能将clone()与find()结合使用
Zepto's clone() function not working properly or not possible to use clone() in combination with find()?
我有一个简单的图像滑块,html看起来像这样:
<ul id="gallery-slider">
<li class="slide-li" >
<img src="img1.png" width="1024" height="590" alt="img1">
</li>
<li class="slide-li" >
<img src="img2.png" width="1024" height="590" alt="img2">
</li>
<li class="slide-li" >
<img src="img3.png" width="1024" height="590" alt="img3">
</li>
...
</ul>
现在我想添加一些拇指到它有一个概览的图像。我想用幻灯片上的图片来做拇指。我正在使用Zepto并尝试以下操作来获取图像并创建新图像:
//imageSlider is the image slider instance in use
for (var i = 1; i <= imageSlider.length; i++) {
//find the image in li
var img = $('#gallery-slider li').eq(i-1).find('img').clone().attr({'width': 268, 'height': 172});
//view cloned element in console
console.log(img);
...
//here the img var will get pushed into an array
}
现在,当您在控制台中输出img变量时,它显示空对象。我认为问题是find()函数,因为当我这样做时:
var img = $('#gallery-slider li').eq(i-1).clone();
img变量不为空—控制台输出显示克隆的li元素。这是一个bug还是我不能将clone()函数与find()结合使用?
编辑:我也试过这个:
var img = $('#gallery-slider li').eq(i-1).find('img'),
thumb = img.clone();
-相同的结果
正如之前讨论的那样,在chrome和firefox中它工作得很好,见这里。
然后我在safari中尝试了一下。console.log(img)
确实打印为空。但当我尝试console.log(img.length)
时,它打印的是1
。
所以我认为可能在safari的调试工具中有一些错误。
然后我忽略了console.log()
的结果,并尝试使用以下代码克隆元素:
$('#gallery-slider').after(img);
查看是否真的为空
结果证明了我的观点。它工作得很好。
。
Zepto没有克隆功能。作为参考,你可以使用这个图表。
你可以很容易地实现克隆,如:
$.fn.clone = function(){
var ret = $();
this.each(function(){
ret.push(this.cloneNode(true))
});
return ret;
};
。
相关文章:
- 不能从angular2中的子组件指定父组件中的数组
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 转义符不能与innerHTML一起使用
- JSON.parse没有'不能使用Javascript
- JS可以在Chrome中工作,但不能在Firefox中工作
- 砌体不能填补小缺口
- javascript扫雷器floodfill算法不能正常工作
- JavaScript指令不能像我想象的那样工作
- 为什么在这个网站上不能通过JS访问元素
- Facebook登录按钮没有'不能在Firefox上工作
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- AngularJS:$q.dedefe()不能由工厂方法共享
- 不能在同一页上进行多个jquery幻灯片切换
- 不能在图像中的地图标记中使用花式框jquery插件的区域标记
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- javascript没有´我不能在joomla 3.0中工作
- Zepto's clone()函数不能正常工作或不能将clone()与find()结合使用
- Jquery .clone()方法不能在IE和Chrome浏览器中工作