我有一个输入表单,我正在尝试删除/添加单击函数。
下面是我的代码:
<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相反的函数?
谢谢!
发布于 2011-07-30 10:04:23
如果需要分离,请使用preserve existing jQuery data
var twitpar = $('#twitter');
var twit = $('#twitter').detach();
然后重新连接:
twitpar.append(twit);
发布于 2011-07-30 09:26:55
您可以使用.clone()实现您想要的功能
您可以使用replaceWith()实现您想要的功能
;)
发布于 2011-07-30 09:45:36
你在这里有一个很奇怪的案例和代码。
移除后,需要重新添加或追加。
$(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'});
并在其中定义twitter
<script id="twitter" type="text/html">
<input id="twitter" type="hidden" name="twitter" value="{{value}}"/>
</script>
https://stackoverflow.com/questions/6880477
复制相似问题