使用jquery隐藏和移动元素

时间:2012-07-19 20:16:11

标签: jquery html css

我知道如何使用jquery来隐藏一个元素(在这种情况下是蓝色div中的图像),但是在点击时我还希望它重新出现在绿色div中(页面上的其他位置)。当我在绿色div中点击它时,甚至可以回到蓝色div。我怎么能这样做?

DEMO

$(document).ready(function(){
  $("img").click(function(){
    $(this).hide();
  });
});

4 个答案:

答案 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"); 
    });
});

http://jsfiddle.net/cmfZX/4/

答案 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)

jsFiddle demo

$(document).ready(function(){

  $("img").click(function(){
    var clonedImg = $(this).clone();
    $(this).hide();
    $('#top-div').append(clonedImg);     
  });

});

来自jQuery文档:

http://api.jquery.com/clone
http://api.jquery.com/append

答案 3 :(得分:0)

做这样的事情:

$(document).ready(function(){
  $("img").click(function(){
    $(this).appendTo("#top-div");
  });
});