2010-12-14 24 views
0

は、私は、次のHTMLFirefoxの表示=ブロック問題

<a id="rptQuestions_ctl01_hlQuestion" onclick="rptQuestions_ctl01_pnlAnswer.style.display = rptQuestions_ctl01_pnlAnswer.style.display == 'none'? 'block' : 'none';" href="javascript:">Header Link</a> 

      <div id="rptQuestions_ctl01_pnlAnswer" style="display:none;"> 

      My Text to display 

</div> 

私はそれはあなたがヘッダーのリンクをクリックしたときのdivを表示して、ヘッダをクリックしたときに、それを隠しIE8に期待するとして、この作品を持っています再度リンクしてください。しかし、Firefoxでは、ヘッダリンクをクリックすると何も起こりません。 これは、私が作ったエラーを許しているIEと、ルールに固執しているFirefoxとは関係があると仮定していますが、何が間違っているのか分かりません。 アイデア

--- EDIT

私は、次のコードでこれを試してみたし、それが正常に動作します:

 <a id="rptQuestions_ctl01_hlQuestion" onclick="jasvascript:document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display='block';" href="#">My header Link</a> 

      <div id="rptQuestions_ctl01_pnlAnswer" style="display:none;"> 
My Text 

</div> 

ので、問題が正しく動作していない三項演算子であるようです。 誰でも問題を確認できますか?

答えて

1

"onclick" 属性は、次のコードを持っている必要があります: -

onclick="document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display = document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display == 'none' ? 'block' : 'none';" 

はそれがお役に立てば幸いです。

+0

ありがとうございます@知識渇望が、これは動作しません。私はまだこのコードでdsiplayにdivを得ることができません – Ben

+1

申し訳ありません、私は非常にばかげていた。このコードはうまく動作します。 – Ben

1
<a id="rptQuestions_ctl01_hlQuestion" onclick="javascript:document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display = document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display == 'none'? 'block' : 'none';return false" href="#">Header Link</a> 

     <div id="rptQuestions_ctl01_pnlAnswer" style="display:none;"> 

     My Text to display 

+0

ありがとう@thirtydot、これは動作しません。私はまだこのコードでdsiplayするdivを得ることができません – Ben

0
  1. いいえ、それは、Firefox(3.6.13だけでテスト)で作業を行います。
  2. jQueryなどのライブラリを使用できませんか?申し訳ありませんが、これはあまりにも醜いです:-)
+1

+1 jQuery:http://api.jquery.com/toggle/ – thirtydot

0

最初にそして最も重要です。 USE:document.getElementById( "使用するID");

秒。これを実現するにはjavascriptメソッドを使用してみてください。そして、onclickの中で機能を使用するか、またはこのような< script type="text/javascript"></script> 何かに直接逢引を実行します。同じコードをdocument.getElementById("rptQuestions_ctl01_hlQuestion").onclick = function(){ document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display = rptQuestions_ctl01_pnlAnswer.style.display == 'none' ? 'block' : 'none'; }

1

三項演算子なし:

<a id="rptQuestions_ctl01_hlQuestion" onclick="javascript:if(document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display == 'none'){document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display='block'}else{document.getElementById('rptQuestions_ctl01_pnlAnswer').style.display='none'};return false" href="#">My header Link</a> 
<div id="rptQuestions_ctl01_pnlAnswer" style="display:none;"> 
    My Text 
</div> 

以前のコードも働いていたので、私は」これがどう変わるかわからない。このコードを新しいHTMLファイルに貼り付けるとうまくいきます。あなたのファイルに入れてもうまくいかない場合は、おそらくファイルのどこかに問題があります。その場合は、周囲のコードをもっと投稿する必要があります。

+1

ありがとう@thirtyDot、私は少し前にダムされていたし、@ knowledgeを得ることができた欲求は仕事に答える。彼のコードが最初に投稿されたので、私は彼に受け入れられた答えを与えなければならなかった。とにかく助けてくれてありがとう。 – Ben