首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与jQuery .remove相反

与jQuery .remove相反
EN

Stack Overflow用户
提问于 2011-07-30 09:21:11
回答 3查看 16.4K关注 0票数 5

我有一个输入表单,我正在尝试删除/添加单击函数。

下面是我的代码:

代码语言:javascript
运行
复制
<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"/>

您可以看到,在单击跨度id="1“时,它会删除图像和输入表单。当你点击img id="2“时,它会隐藏该图像,并带回原始图像。如何恢复或添加我最初在点击img id="2“时删除的输入表单。有没有一个与.remove相反的函数?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2011-07-30 10:04:23

如果需要分离,请使用preserve existing jQuery data

代码语言:javascript
运行
复制
var twitpar = $('#twitter');
var twit = $('#twitter').detach();

然后重新连接:

代码语言:javascript
运行
复制
twitpar.append(twit);
票数 5
EN

Stack Overflow用户

发布于 2011-07-30 09:26:55

您可以使用.clone()实现您想要的功能

您可以使用replaceWith()实现您想要的功能

;)

票数 1
EN

Stack Overflow用户

发布于 2011-07-30 09:45:36

你在这里有一个很奇怪的案例和代码。

移除后,需要重新添加或追加。

代码语言:javascript
运行
复制
 $(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。因此代码可能如下所示

代码语言:javascript
运行
复制
$twitter.parent().append(ich.twitter({value: 'yes'});

并在其中定义twitter

代码语言:javascript
运行
复制
<script id="twitter" type="text/html">
<input id="twitter" type="hidden" name="twitter" value="{{value}}"/>
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6880477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档