Javascript没有改变元素属性

时间:2014-04-15 18:51:39

标签: javascript html

我正在尝试更改属性"隐藏"在1000毫秒的超时后,通过javascript将元素设置为true,但它不会更改属性。是的超时工作正常我已经测试过,所有功能都是正确的!只有使用setAttribute()函数的最后一部分不起作用。

HTML:

<div id="gamePanel" hidden="true">
    <div id="bb">
        <div id="map">

        </div>
    </div>
    <p id="status"> Welcome Back! </p>
    <input type="button" id="changeBio" value="Change Map" />
    <input type="button" id="saveGame" value="Save Game" />
    <div id="statusBar"> Status </div>
</div>

使用Javascript:

var panel = document.querySelector("#gamePanel");
panel.setAttribute("hidden","false");

2 个答案:

答案 0 :(得分:3)

使用

panel.removeAttribute("hidden");

由于hidden属性为boolean attribute,(spec以这种方式定义),

  

元素上存在布尔属性表示true   value,缺少属性表示false值。

然后,它没有truefalse值。它可以存在(即hiddenhidden="hidden"),也可以不存在。

或者,更好的是,您可以更改hidden属性:

panel.hidden = false;

答案 1 :(得分:1)

就个人而言,我会改用它:

var panel = document.getElementById("gamePanel");
panel.style.display = 'block';

或隐藏它:

panel.style.display = 'none';