即使功能相同,Javascript也会在2个函数后失败

时间:2014-07-08 12:12:29

标签: javascript html

这是html。除了颜色外,它们都有相同的风格。


<div id="expansion">
<div id="e1" style="display:none;">
    <p style="font-size:36px; color: green;">*</p>
</div>
<div id="e2" style="display:none;">
    <p style="font-size:36px; color: blue;">**</p>
</div>
<div id="e3" style="display:none;">
    <p style="font-size:36px; color: green;">***</p>
</div>
<div id="e4" style="display:none;">
    <p style="font-size:36px; color: blue;">****</p>
</div>

使用Javascript:

function reflection1() {
    var element=document .getElementById("e2", "e3", "e4").style.display="none";
    var element=document .getElementById("e1").style.display="";
}

function reflection2() {
    var element=document .getElementById("e1", "e3", "e4").style.display="none";
    var element=document .getElementById("e2").style.display="";
}

function reflection3() {
    var element=document .getElementById("e3").style.display="";
    var element=document .getElementById("e1", "e2", "e4").style.display=" none";
}

function reflection4() {
    var element=document .getElementById("e4").style.display="";
    var element=document .getElementById("e1", "e2", "e3").style.display=" none";
}

但只有函数reflection1()reflection2()有效,3和4不起作用。代码中有问题吗?

1 个答案:

答案 0 :(得分:2)

声明

var element=document .getElementById("e1").style.display="";

有效,这会将style属性设置为“”(无),因此将显示。

但其他陈述如

var element=document .getElementById("e1", "e3", "e4").style.display="none";

在语法上是错误的,因此不会给出任何结果。

要设置显示属性,请使用以下

document.getElementById("<id of element>").style.display="none"; // hidden
document.getElementById("<id of element>").style.display="block"; // visible

你不必分配任何东西

修改1

Is this what you are looking for?