javascript – 将元素显示无返回到默认样式值JS

前端之家收集整理的这篇文章主要介绍了javascript – 将元素显示无返回到默认样式值JS前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在JS中有一个隐藏解析元素的函数
function hide(id){
  document.getElementById(id).style.display = "none";
}

如何创建一个将元素返回到默认样式值的函数.例如,一个div显示属性是“block”,因为一个图像是“inline-block”,其他元素是“inline”或者列表是“list-item”如何将它们恢复为默认状态?

function show(id){
  document.getElementById(id).style.display = "?????";
}

我知道如何在Jquery中执行它,但它不是一个选项.

在CSS中,可能有元素的样式,包括style:none,需要被覆盖到默认值.

由于我的示例中有CSS,style.display =”消除了使用JS添加的样式,而是返回到CSS中添加的任何样式,即使在使用CSS分配样式之前,我也希望将其恢复为默认值.

我尝试了这一点,因为在其中一个意见的链接中建议:

elem = document.getElementById(id);
var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("display");

但在这种情况下,’CSSprop’为div返回“none”,当我期望“block”

有任何想法吗?
谢谢.

解决方法

您需要将其分配给空值:
document.getElementById(id).style.display = "";

或使用removeProperty方法

document.getElementById(id).style.removeProperty( 'display' );

但请注意,removeProperty将无法在IE< 9上运行. 如果你想获得原始的CSS值,你可能需要从空的< iframe>元件.我在jsFiddle上创建了example,如何使用getComputedStyle获取当前值,并在jsFiddle上获取iframe值.

请注意,getComputedStyle不支持旧版本的IE.它支持IE9.

对于IE8,您应该使用Element.currentStyle

原文链接:https://www.f2er.com/js/150886.html

猜你在找的JavaScript相关文章