我不理解这种行为。javascript style.display只能用css内嵌
当我点击ChangeDiv1按钮时,如果我设置了样式“display:none”,内联工作正常。
当我点击ChangeDiv2按钮document.getElementById(“conten2”)时,在标题标签中设置样式“display:none”。style.display为空。
如果我点击ChangeDiv3按钮document.getElementById(“conten3”)时没有设置样式“display:none”。style.display为空。
我该如何解决这个问题?
function cambiar1() {
var miElemento1 = document.getElementById("conten1").style.display;
if (miElemento1 == "block") document.getElementById("conten1").style.display = "none";
if (miElemento1 == "none") document.getElementById("conten1").style.display = "block";
document.getElementById('estadoconten1').innerHTML = 'State Div1:' + document.getElementById("conten1").style.display;
}
function cambiar2() {
var miElemento2 = document.getElementById("conten2").style.display;
if (miElemento2 == "block") document.getElementById("conten2").style.display = "none";
if (miElemento2 == "none") document.getElementById("conten2").style.display = "block";
document.getElementById('estadoconten2').innerHTML = 'State Div2:' + document.getElementById("conten2").style.display;
}
function cambiar3() {
var miElemento3 = document.getElementById("conten3").style.display;
if (miElemento3 == "block") document.getElementById("conten3").style.display = "none";
if (miElemento3 == "none") document.getElementById("conten3").style.display = "block";
document.getElementById('estadoconten3').innerHTML = 'State Div3:' + document.getElementById("conten3").style.display;
}
#estadoconten1 {border:solid 1px red}
#conten2 {display:none; border:solid 1px green}
#conten3 {border:solid 1px blue}
<h2>
MODIFY "LOAD TYPE" AT JAVASCRIPT MENU AND SET "IN HEAD" OPTION
</h2>
<button type="button" onclick="cambiar1()">ChangeDiv1</button>
<button type="button" onclick="cambiar2()">ChangeDiv2</button>
<button type="button" onclick="cambiar3()">ChangeDiv3</button>
<div id='estadoconten1'></div>
<div id='estadoconten2'></div>
<div id='estadoconten3'></div>
<br>
<div id='conten1' style='display:none'>
I am Div 1
</div>
<br>
<div id='conten2'>
I am Div 2
</div>
<br>
<div id='conten3'>
I am Div 3
</div>
与您的问题相关的代码必须是**在您的问题中,而不仅仅是链接。使用Stack Snippets('<>'工具栏按钮)创建一个可运行的演示,如jsFiddle **现场**。 –
从[MDN HTMLElement.style](https://developer.mozilla.org/docs/Web/API/HTMLElement/style)“HTMLElement.style属性返回CSSStyleDeclaration对象,该对象仅表示元素的内联样式属性,忽略任何应用风格规则“。 –