Firefox显示=阻塞问题

时间:2010-12-14 12:52:52

标签: c# asp.net

我有以下HTML

 <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>

这正如我在IE8中所期望的那样,当您单击标题链接时它会显示div,然后再次单击标题链接时隐藏它。但是,在Firefox中,单击标题链接时没有任何反应。 我假设这是因为IE正在原谅我所犯的错误,并且Firefox坚持规则,但我看不出我做错了什么。 有什么想法吗?

---编辑

我已经尝试使用以下代码,它运行正常:

        <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>

所以似乎问题是三元运算符无法正常工作。 有人看到问题吗?

5 个答案:

答案 0 :(得分:1)

onclick”属性应包含以下代码: -

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

希望它有所帮助。

答案 1 :(得分: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

答案 2 :(得分: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文件中,它将起作用。如果在将其放入文件时不起作用,则问题可能在文件中的其他位置。在这种情况下,您应该发布更多的周围代码。

答案 3 :(得分:0)

  1. 不,它在Firefox中有效(仅在3.6.13上测试过)。
  2. 你不能使用jQuery或其他一些库吗?对不起,这太丑了......: - )

答案 4 :(得分:0)

首先也是最重要的。使用:document.getElementById(“要使用的ID。”);

二。尝试使用javascript方法来实现此目的。并在onclick中使用一个函数,或直接在&lt; 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'; }