javascript - 第二次单击时它会关闭 DIV,为什么?

标签 javascript jquery html

我有一个 javascript 函数,应该在单击时关闭 div。但是,它在第​​二次单击时起作用。我怎样才能避免这种情况?

JavaScript

function showhide(id) {
    var e = document.getElementById(id);
    if(e.style.display == 'block') {
        e.style.display = 'none';
    } else {
        e.style.display = 'block';
    }
}

HTML

<div id="foota123">
    Content
    <div onclick="showhide('foota123')" class="iks">X</div>
</div>

最佳答案

e.style 指的是div 的样式属性(style="...")。第一次通过时,div 上没有样式属性。条件为 false,代码设置样式属性为:

<div style="display: block">

第二次通过时,if 条件为 true,并且 block 的样式设置为“none”。所以它就消失了。

关于javascript - 第二次单击时它会关闭 DIV,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28401009/

相关文章:

javascript - 函数调用和函数引用有什么区别?

javascript - jQuery 用户界面 : Resizable: catch the resize event

javascript - 一个URL可以激活多个脚本吗?

javascript - 如何识别单击了 Slickgrid 中一个单元格中的两个按钮中的哪一个

javascript - 在 jQM 中,为页面设置全屏 CSS 图像背景的正确/正确/实际方法是什么?

html - 黑色 50px 阴影从不透明度 1 开始到不透明度 0 结束(逐渐)

php - 将参数从 php(mysql_query result) 传递到由 onchange 事件触发的 javascript 函数

javascript - 当 td id 已知时在 jquery 中设置 td 背景颜色

javascript - 在跨度选项卡之间切换以显示不同的 Iframe HTML 错误

html - 为什么没有位置的 img 就像 "absolute"?