【发布时间】:2014-02-22 20:08:38
【问题描述】:
我在 JS 中有一个函数可以隐藏解析的元素:
function hide(id){
document.getElementById(id).style.display = "none";
}
如何创建将元素恢复为默认样式值的函数。例如 div display 属性是 "block" 图像是 "inline-block",其他元素是 "inline" 或列表是 "list-item" 我怎样才能将它们恢复到默认状态?
function show(id){
document.getElementById(id).style.display = "?????";
}
我知道如何在 Jquery 中做到这一点,但这不是一个选项。
在 CSS 中可能有包括style:none 在内的元素的样式,需要将其覆盖为默认值。
由于在我的示例中有 CSS,使 style.display = '' 消除了使用 JS 添加的样式,但恢复了添加到 CSS 中的任何样式,因此我想在使用 CSS 分配样式之前将其恢复为默认值。
我按照其中一个 cmets 的链接中的建议进行了尝试:
elem = document.getElementById(id);
var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("display");
但在这种情况下,'theCSSprop' 返回"none" 为div,而我期望"block"
有什么想法吗? 谢谢。
【问题讨论】:
-
我会添加/删除类。 classList.
标签: javascript html css