有人可以解释getElementsByClassName,因为我以为我正确使用它,但我遇到了问题。例如,以下代码不会使隐藏元素可见:
var actionButtons = document.getElementsByClassName("action_buttons");
for (var i=0; i < actionButtons.length; i++) {
actionButtons[i].style.visibilty = "visible";
}
然而,如果我选择Id,我可以更改元素&#39;属性。知道问题是什么吗?
我只有&#34;使用严格声明&#34;到目前为止未使用的变量警告。我肯定有四个按钮元素,类=&#34; action_buttons&#34;。
如果我插入警报(actionButtons [i]);我得到对象HTMLButtonElement四次......
这是相关的HTML:
<button type="button" id="stand_button" class="action_buttons">Stand</button>
<button type="button" id="hit_button" class="action_buttons">Hit</button>
<button type="button" id="double_down_button" class="action_buttons">Double-Down</button>
<button type="button" id="split_button" class="action_buttons">Split</button>
答案 0 :(得分:2)
您的代码有拼写错误:
style.visibilty
应该是:
style.visibility
答案 1 :(得分:0)
您发布的代码很好,但只有在HTML中存在类名为“action_buttons”的元素时才能使用。否则肯定会抛出错误。请参阅浏览器控制台以检查错误,在chrome中按f12打开控制台。
可能是您在JavaScript或HTML中错误拼写了类名。
在按钮元素的情况下应该是这样的:
HTML
<button class="action_buttons">Button</button>
的JavaScript
var buttons=document.getElementsByClassName("action_buttons")
此外,您不需要在内部循环中进行if(true)
检查。