JavaScript onClick仅在第二次单击后工作

JavaScript onClick仅在第二次单击后工作,javascript,wordpress,Javascript,Wordpress,我发现了另一个类似的问题,但几乎所有的问题都是针对高级的东西,比如Android开发。我想我的问题很简单。我有两个代码: function toggle(d) { var o=document.getElementById(d); o.style.display=(o.style.display=='none')?'block':'none'; } 在另一份文件中,我得到: <a href="javascript:;" onmouseover="toggle('maisi

我发现了另一个类似的问题,但几乎所有的问题都是针对高级的东西,比如Android开发。我想我的问题很简单。我有两个代码:

function toggle(d)
{
    var o=document.getElementById(d);
    o.style.display=(o.style.display=='none')?'block':'none';
}
在另一份文件中,我得到:

<a href="javascript:;" onmouseover="toggle('maisinfo');">More Info </a>

当我点击got the mouseover(第二个代码)时,它在第二次尝试后就可以工作了

有人知道问题出在哪里吗


Obs.:第一个代码在header.php中,第二个在single.php(WORDPRESS)

中,因为第一次未设置显示属性,因此它不等于“无”

第一次,
d
由CSS设置;JavaScript没有看到该样式属性(请参阅)。它最初看到的是
o.style.display==”
(不是“无”)。因此,第一次单击将其设置为“无”,第二次单击将其设置为“块”

将其更改为:

o.style.display = (o.style.display === 'block') ? 'none':'block';

嗯,上面的代码没有问题。也许你的风格声明出了什么问题,比如在一开始就把它设置为你不想要的块。下面是我为测试代码而制作的一个简单JSFIDLE:


希望这能有所帮助。

您也可以发布带有maisinfo id的html片段吗?此外,您可能还应该检查控制台是否有任何警告或错误。切换函数在使用前是否实际声明,等等。现在工作很完美:)