Javascript onClick不';除非单击两次,否则无法工作

Javascript onClick不';除非单击两次,否则无法工作,javascript,button,onclick,Javascript,Button,Onclick,我有一个Javascript,它打开一个表来显示底部的行。不幸的是,当页面加载时,打开表的按钮只有单击两次才能工作。之后,它只需单击一次即可工作,除非用户刷新了页面,然后返回到单击两次即可开始 我在标题中有这样一句话: <script type="text/javascript"> var rowVisible = true; function toggleDisplay(tbl) { var tblRows = tbl.rows; var i; for (i

我有一个Javascript,它打开一个表来显示底部的行。不幸的是,当页面加载时,打开表的按钮只有单击两次才能工作。之后,它只需单击一次即可工作,除非用户刷新了页面,然后返回到单击两次即可开始

我在标题中有这样一句话:

<script type="text/javascript">
var rowVisible = true;
function toggleDisplay(tbl) {
    var tblRows = tbl.rows;
    var i;
    for (i = 0; i < tblRows.length; i++) {
        if (tblRows[i].className != "headerRow") {
        tblRows[i].style.display = (rowVisible) ? "none" : "";
    }
  }
  rowVisible = !rowVisible;
}
</script>

var rowVisible=true;
功能切换显示(tbl){
var tblRows=tbl.rows;
var i;
对于(i=0;i
这个在按钮上

<a class="small blue btn" onClick="toggleDisplay('.$thread_no.')" >
    <small>Open</small></th>

打开

如何使每次只需单击一次就可以工作?

我认为问题可能与a元素有关。第二次单击超链接时,会触发空哈希,因此不会再次触发


您可以通过返回false或e.preventDefault()来阻止默认操作或使用另一个元素

您的HTML无效。您的定位标记未关闭。这些行最初可见还是不可见?我有一个预感,您的
rowVisible
变量最初应该是false而不是true。谢谢你们。我没有注意到锚标签没有关闭。詹姆斯非常感谢你,因为这实际上解决了问题。