我怎样才能告诉 jquery 到 html( ) 一个元素在动态更改之前到它的原始值
How can I tell jquery to html( ) an element to its original value, before it was dynamically changed?
我有一个div,我用html()
来更改它的内容。我正在执行"取消"按钮,我想html()
回原始值。
有没有有效的方法可以做到这一点?我试图避免再次使用html()整个代码,因为它看起来不是很好,可能不是最佳实践。
提前非常感谢。问候
// store the old content
var myOldContent = $("#cancelbutton").html();
// change content
$("#cancelbutton").html(someNewContent);
// and change it back
$("#cancelbutton").html(myOldContent);
如果可能的话,不要使用 .html
以这种方式切换内容 - 使用两个相邻的、几乎相同的元素,一个使用旧 HTML,一个使用新 HTML,并使用 display: none
创建一个hidden
CSS 类并将其分配给第二个元素。然后同时在两个元素上切换此hidden
类。
.HTML:
<button class="cancel" id="cancel-original">Cancel</button>
<button class="cancel hidden" id="cancel-second">Cancelling...</button>
.CSS:
.hidden {
display: none;
}
JQuery:
$('button.cancel').click(function() {
$('button.cancel').toggleClass('hidden'); // toggles both at once
});
http://jsfiddle.net/e9eLP/
您可以在制作时使用 jQuery 克隆它,当您取消时,删除它并克隆旧版本。
浏览器不跟踪原始值。
但是,您可以在页面加载时自行将原始 HTML 存储到变量中。
您可以将以前的 HTML 内容保存到变量中,然后在取消时从该变量还原。
var previousHtml = $('#someElement').html();
然后
$('#someElement').html(previousHtml);
在更改它之前,您需要将其保存在变量中:
<script>
var origHTML = $("#divid").html();
function ResetDiv(){
$("#divid").html(origHTML);
}
</script>
通过使用 jQuery 的 data() 函数,您可以轻松地在内部保存原始值,然后使用如下所示的内容恢复它:
$('#a').click(function(){
$('div').data('store',$('div').html()).html('foo');
});
$('#b').click(function(){
$('div').html($('div').data('store'));
});
jsFiddle 示例。(请注意,此示例只是为了说明如何使用 data() 存储值,而不是用于生产代码。
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使Javascript动态html表及其上的事件
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 如何使用javascript从主svg对象动态创建svg视图框
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- 如何动态插入新的顶栏并向下移动所有原始内容
- 如何将节点内容从 xml 复制到硬编码的 html(动态到原始 html)
- 我怎样才能告诉 jquery 到 html( ) 一个元素在动态更改之前到它的原始值
- 呈现来自动态填充的Json对象的原始HTML数据
- 如果父控件被启用/禁用,如何启用/禁用动态创建的自定义控件(查看原始控件)
- 原始html渲染与动态JS渲染的间距不同
- 奇怪的代码——javascript (JS)中原始变量和引用变量的动态属性
- 如何使Typescript文件在原始文件中而不是在“动态”选项卡中达到断点