0

我的 Javascript

<script type='text/javascript'>
 //<![CDATA[
function showAnswer()
{
  alert('Answer');
  var els = document.getElementsByClassName('answer');
if (els.style.display != 'inline')
    els.style.display = 'inline';
} 
}

     //]]>
</script>

其中 answer 是页面上 p 标签的类名,最初被以下代码隐藏:

 .answer { display:none; }

这是调用 showAnswer 的代码,它不起作用...

 <div class='show_hide_answers'>
        <a href='#' onclick='showAnswer();'>Show Answer</a>
 </div>

单击显示答案什么也不做。即使它没有显示警报也意味着 javascript 没有运行。请帮我解决这个问题。有关更多详细信息,请参阅此页面(这是此页面的代码)

http://www.technodoze.com/2012/09/the-idea-that-light-is-em-wave-was.html

如果你能帮助我,请提前谢谢...

注意:我已经尝试了所有这些:

<a href='#' onclick='showAnswer()'>Show Answer</a>

<a href='#' onclick='javascript:showAnswer();'>Show Answer</a>

<a href='#' onclick='javascript:return showAnswer();'>Show Answer</a>

没有人在工作。

4

2 回答 2

1

getElementsByClassName返回 aNodeList而不是单个Node. 因此,您需要遍历结果NodeList

var els = document.getElementsByClassName('answer');
for (var i = 0; i < els.length; i++) {
  var el = eles[i];
  if (el.style.display != 'inline') {
    el.style.display = 'inline';
  }
} 
于 2012-09-20T11:14:56.677 回答
0

如果您调试 javascript,请使用您的控制台,它显示“Uncaught SyntaxError: Unexpected token }”。if 后面有一个{缺失。

getElementsByClassName不返回单个元素,而是一组元素(注意getElement_s_

于 2012-09-20T11:24:14.317 回答