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

getElementsByClassNameNodeList単一の ではなく を返します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 に答える