我有以下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>
所以似乎问题是三元运算符无法正常工作。 有人看到问题吗?
答案 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)
答案 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'; }