无法将aria-hidden属性用作javascript对象

时间:2013-09-28 00:32:06

标签: javascript

你可以看到我正在查看help.aria-hidden === "true" 但它不起作用。 怎么了,请帮忙。

感谢。

function Help() { // Help
    var help = document.getElementById("help_content"),
        overlay = document.getElementById("overlay");

    function closeHelpAndOverlay() {
        help.setAttribute("aria-hidden", "true");
        overlay.setAttribute("aria-hidden", "true");
        textarea.focus();
    }

    if (help.aria-hidden === "true") {
        closeHelpAndOverlay();
    } else {
        help.setAttribute("aria-hidden", "false");
        overlay.setAttribute("aria-hidden", "false");
        textarea.blur();
        document.getElementById("overlay").onclick = function() {
            closeHelpAndOverlay();
        };
        document.onkeydown = function(e) { // esc to close help
            if (e.keyCode === 27 || e.which === 27) {
                closeHelpAndOverlay();
            }
        };

    }

}

2 个答案:

答案 0 :(得分:3)

您不能对包含连字符的属性使用句点语法(因为连字符被解释为减法运算符)。使用括号语法:

if (help['aria-hidden'] === "true") {

答案 1 :(得分:0)

您是否期望通过致电Help(),在抵达第5行后立即致电closeHelpAndOverlay()?看起来你可能会想到这一点,但事实并非如此。您需要在定义后明确调用closeHelpAndOverlay()

如果这不是您遇到的问题,请清楚说明您需要帮助的内容。 “它不起作用”不是人们可以帮助你的东西。