Jquery 分离图像,然后将其追加到分离的位置
我的经验水平- 我正在制作一个自定义滑块,这是我第一次体验jQuery,但我认为我对html、css和jQuery一起做什么有很好的理解,但我仍然有我的noob特性 我的问题-我有17个div标记为这样,我想删除img标签:Jquery 分离图像,然后将其追加到分离的位置,jquery,append,detach,Jquery,Append,Detach,我的经验水平- 我正在制作一个自定义滑块,这是我第一次体验jQuery,但我认为我对html、css和jQuery一起做什么有很好的理解,但我仍然有我的noob特性 我的问题-我有17个div标记为这样,我想删除img标签: <div class="slide" id="zero"> <h2>April 1, 2011</h2> <img src="img/1_april12011.png"/><p
<div class="slide" id="zero">
<h2>April 1, 2011</h2>
<img src="img/1_april12011.png"/><p>Lorem Ipsum</p>
</div>
<div class="slide" id="one">
<h2>April 2011</h2>
<img src="img/2_april2011.png"/> <p>Lorem Ipsum</p>
</div>
<div class="slide" id="two">
<h2>August 2011</h2>
<img src="img/3_aug2011.png"/><p>Lorem Ipsum</p>
</div>
我使用var=imageToAttach和attachLocation来跟踪删除的图像以及从何处删除的图像,这样我可以在需要时(当单击另一个图像或左控件和右控件时)再次将其附加到特定的div中,所以如果我可以使--jsfiddle工作,那么我相信我可以做我想做的事情
几个小时的研究和摆弄之后
我想我知道我想做的是,我将使用.hide()和.show(),但我仍然对上面提到的提琴中发生的事情感到好奇,,也就是说,我如何让img重新插入到我单击另一个div时的同一个div中……如果您,善良的stackoverflow用户,不会介意,您还可以告诉我一种更简单的方法来将div分配给某种数组,而不是使用id=“zero”id=“one”等
像这样的
var slides = $('.slide');
var numberOfSlides = slides.length;
var slideArray[] = null;
我是否可以使用for循环将slides.length的索引分配给数组中的每个点
for( var i=0;i<=numberOfSlides;i++){
slideArray[i] = ?;
}
for(var i=0;i在这里。我更新了你的小提琴,让你做我认为你最想做的事。不过我不太确定,因为这种行为对我来说很奇怪,我也不知道人们为什么要这样做
以下是相关代码,可压缩为:
$(document).ready(function(){
var imageToAttach;
var attachLocation;
$('.slide').on('click', function(){
if(imageToAttach != null){
$(imageToAttach).appendTo(attachLocation);
}
attachLocation = $(this);
imageToAttach = $(this).find('img').detach();
});
});
本质上,您是在尝试查找元素“id”时,应该只存储对所单击元素的引用
attachLocation = $(this);
这样appendTo就有了一个元素,而不仅仅是id的值(假设您使用$(this.attr('id')
)获取了实际的id)
另外,您的示例没有声明变量,也没有将侦听器放在ready调用中
另外请注意,我切换到了而不是-请参见:“从jQuery 1.7开始,.delegate()已被.on()方法取代。”请使用我更新的新链接重试。我使用的是我碰巧所在的lorem ipsum网站上的一些随机图像。我将它们更改为使用我自己的图像,以防出现一些引用阻止您查看图像的情况。例如,Firefox没有显示远程图像。它现在可以工作了。谢谢!非常感谢您的帮助:)
attachLocation = $(this);