Javascript 切换仅在第二次单击时显示
我有一个Javascript 切换仅在第二次单击时显示,javascript,html,css,Javascript,Html,Css,我有一个div,它是display:none,单击图标时应该会显示它。我的功能正常,但总是在第二次单击时运行。你知道这个函数有什么问题吗 document.getElementById('icon').onclick = function(){ var el = document.getElementById('div'); if ( el.style.display != 'none' ){ el.style.display = 'none'; }
div
,它是display:none
,单击图标时应该会显示它。我的功能正常,但总是在第二次单击时运行。你知道这个函数有什么问题吗
document.getElementById('icon').onclick = function(){
var el = document.getElementById('div');
if ( el.style.display != 'none' ){
el.style.display = 'none';
}
else {
el.style.display = 'block';
};
};
将测试更改为“阳性”
它会起作用的
默认值可能不完全是“无”
使用jQuery将使这一点更加容易,请参见将测试更改为“阳性” 它会起作用的 默认值可能不完全是“无”
使用jQuery将使这一点更加容易,请参见
el。style
将指内联样式,而不是全局样式
所以把你的代码改成
<div id="nav_form_container" style="display:none">
代码将起作用
el.style
指的是inline
样式,而不是global
样式
所以把你的代码改成
<div id="nav_form_container" style="display:none">
代码将起作用
这对我有用。我相信您可能一直在使用div作为选择器,而不是变量的ID
HTML:
<button id="icon">Test Button</button>
<div id="test" style="display: none;">I am hidden</div>
这对我有用。我相信您可能一直在使用div作为选择器,而不是变量的ID
HTML:
<button id="icon">Test Button</button>
<div id="test" style="display: none;">I am hidden</div>
你可以创建一个摆弄你的问题吗?你用什么浏览器测试过?你是在尝试选择一个div,还是一个id为“div”的html元素?我在chrome和IE中都测试过,我正在选择一个div来显示:block你可以创建一个摆弄你的问题吗?你用什么浏览器测试过?你是在尝试选择一个div,或者一个id为“div”的html元素?我已经在chrome和IE中测试过了,我正在选择一个div来显示:block使用jQuery也会让它变得更重:)嘿,Alexis,这成功了!有什么解释吗?我的默认css是display:none for the div。正如我在回答中所说,“none”并不总是被视为“none”(它也将取决于浏览器)。我不知道确切原因。我碰到的东西,就像你一样。。。8-)使用jQuery也会使问题变得更严重:)嘿,Alexis,这很有效!有什么解释吗?我的默认css是display:none for the div。正如我在回答中所说,“none”并不总是被视为“none”(它也将取决于浏览器)。我不知道确切原因。我碰到的东西,就像你一样。。。8-)