javascript - 如何隐藏然后恢复到初始状态(= 不总是 "block")?

标签 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');
}

问题是“显示”函数:它强制“block”。如果我使用带有 trtd 的表格,当我想显示它们时,我不会将它们显示为“ block ”,但要恢复到它们的初始状态

我该怎么办?

你会怎么做?

最佳答案

如果你想恢复它们的默认 display值,你可以给它分配一个空字符串:

element.style.display = '';

例如,如果你想通过 CSS 分配一个,你必须将它存储在某个地方,例如在 id -> display 映射中或作为 data- 属性。

关于javascript - 如何隐藏然后恢复到初始状态(= 不总是 "block")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8506947/

相关文章:

javascript - 文本未转换到正确的位置

javascript - 复制 <li> 并将它们插入到它们之后

javascript - 在使用 ajax 将 html 插入页面后选择 dom 元素

javascript - 使用 Javascript 将 Font-Awesome 图标注入(inject) DOM,直到页面刷新后才会显示

javascript - 获取多个 if 语句

javascript - 用户登录后将 Vue Router 重定向到预期页面

javascript - 服务器未在 Node/Express 中运行

javascript - 如何使用 d3.js 在饼图切片附近显示工具提示?

javascript - 如何在 JS 中定位 CSS(而不是注入(inject) HTML)?

javascript - 在 DOM 树中使用某种节点号进行元素搜索