用jquery替换和恢复div html

时间:2017-01-24 13:59:05

标签: javascript jquery replacewith

我有几个函数,第一个替换div的内容,第二个恢复原来的div。问题是因为我使用了replaceWith方法,如果我第二次尝试调用它,则第二个div不再存在。有一个更好的方法吗?我已经尝试创建一个存储第二个div内容的变量,以便我可以重复使用它,但无法使它工作。

我的代码是:

https://github.com/username/repo

提前致谢!

2 个答案:

答案 0 :(得分:1)

您可以在同一个div中同时拥有这两个内容并切换其父div的可见性。使用javascript来切换包装器的类。



$('#toggle').click(function() {
  $('#wrapper').toggleClass('init-state new-state');
});

#wrapper {
  border:1px solid #d8d8d8;
}
.init-state #new,
.new-state #init { display:none; }
.inner {
  padding:25px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<div id="wrapper" class="init-state">
  <div id="init" class="inner">Initial Content</div>
  <div id="new" class="inner">New Content</div>
  <button id="toggle" type="button">Toggle</button>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

来自文档

  

.fadeOut()方法可以设置匹配元素的不透明度。一旦不透明度达到0,显示样式属性将设置为none,因此该元素不再影响页面的布局

您需要手动将显示样式属性设置回其原始值,或者调用jQuery的.fadeIn()函数,该函数将与.fadeOut()

相反