与jQuery相反.remove

时间:2011-07-30 01:21:11

标签: jquery

我有一个输入表单我试图删除/添加点击功能。

这是我的代码:

<script>
        $(document).ready(function(){   
            $("#1").click(function () {
            $("#1").hide("");
            });
            $("#1").click(function () {
                 $("#twitter").remove();
            });
            $("#1").click(function () {
            $("#2").show("");
            });

                    $("#2").click(function () {
            $("#2").hide("");
            });
            $("#2").click(function () {
            $("#1").show("");
            });
            }); 
 </script>

 <span id="1">
 <img align="left" src="../images/twitter_blue.png" width="30px;" style="margin:5px;"/>
 <div>Share as @<?php echo $_SESSION['username']  ?></div>
 </span>
 <img align="left" id="2" src="../images/twitter_white.png" width="30px;" style="margin:5px;display:none;"/>
  <input id="twitter" type="hidden" name="twitter" value="yes"/>

您可以看到,在点击span id =“1”时,它会删除图像和输入表单。当你点击img id =“2”时,它会隐藏那个并带回原始图像。如何在点击img id =“2”时带回或添加我最初删除的输入表单。是否存在与.remove相反的函数?

谢谢!

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

你可以.clone()你想要什么

你可以替换你想要的()你想要什么

答案 2 :(得分:0)

你有这么奇怪的案例和代码。

删除后,您需要再次添加或追加它。

 $(document).ready(function(){ 
    var $one = $('#1');
    var $two = $('#2'); 
     var $twitter = $('#twitter');
            $one.click(function () {
                $one.hide();
                $two.show();
                $twitter.remove();
            });

            $two.click(function () {
                $one.show();
                $two.hide();
                $twitter.parent().append('<input id="twitter" type="hidden" name="twitter" value="yes"/>');
            });
 });

而不是'硬编码'元素,你可以使用像jQuery模板或mustache.js等模板。

通常我使用iCanHaz。所以代码可能就像这样

$twitter.parent().append(ich.twitter({value: 'yes'});

并在

中定义推特
<script id="twitter" type="text/html">
<input id="twitter" type="hidden" name="twitter" value="{{value}}"/>
</script>