如何隐藏然后恢复到初始状态(=并不总是"阻止")?

Oli*_*ons 2 javascript dom

以下是您想要隐藏/显示元素时可以在任何地方找到的JavaScript代码:

function sh(_id, _val) {
    if (document.getElementById) { 
        document.getElementById(_id).style.display = _val;
    }
    else {
        if (document.layers) { 
            document._id.display = _val;
        }
        else { 
            document.all._id.style.display = _val;
        }
    }
}
function hide(_id) {
    sh(_id, 'none');
}
function show(_id) {
    sh(_id, 'block');
}
Run Code Online (Sandbox Code Playgroud)

问题是"显示"功能:它强制为" block".如果我使用带有tr's和td's 的表,当我想显示它们时,我不会将它们显示为" block"但是要恢复到它们的初始状态.

我应该怎么做?

你会怎么做?

Fel*_*ing 6

如果要恢复其默认 display值,可以为其分配一个空字符串:

element.style.display = '';
Run Code Online (Sandbox Code Playgroud)

例如,如果您想要通过CSS分配的那个,则必须将其存储在某个位置,例如在id -> display地图中或作为data-属性.