我知道如何使用jquery来隐藏一个元素(在这种情况下是蓝色div中的图像),但是在点击时我还希望它重新出现在绿色div中(页面上的其他位置)。当我在绿色div中点击它时,甚至可以回到蓝色div。我怎么能这样做?
$(document).ready(function(){
$("img").click(function(){
$(this).hide();
});
});
答案 0 :(得分:5)
您可以使用事件委派来简化:
$(document).ready(function(){
$("#bottom-div").on("click","img",function(){
$(this).appendTo("#top-div");
});
$("#top-div").on("click","img",function(){
$(this).appendTo("#bottom-div");
});
});
答案 1 :(得分:0)
您需要的是append
而不是hide
。
JSFiddle:http://jsfiddle.net/cmfZX/3/
试试这个:
$(document).ready(function(){
$("img").click(function(){
if($(this).closest("#top-div").length > 0) {
//Move to bottom Div
$("#bottom-div").append(this);
} else {
$("#top-div").append(this);
}
//$(this).hide();
});
});
答案 2 :(得分:0)
$(document).ready(function(){
$("img").click(function(){
var clonedImg = $(this).clone();
$(this).hide();
$('#top-div').append(clonedImg);
});
});
来自jQuery文档:
答案 3 :(得分:0)
做这样的事情:
$(document).ready(function(){
$("img").click(function(){
$(this).appendTo("#top-div");
});
});