javascript函数onclick必须单击两次-为什么?

javascript函数onclick必须单击两次-为什么?,javascript,html,Javascript,Html,我有一个页面(这是一个网站的常见问题页面),当用户点击一个div(例如#question01)时,它下面会出现一个新div。真的很简单,但我的功能是,当你第一次点击时,什么也没有出现,然后再点击一次,你就到了。My#faqAnswer01现在有一个“unhide”类,设置为display:block;(.hide=显示:无;) 这是我的两个问题: 1-为什么我必须单击两次才能执行我的函数 2-如何修复代码,使其只需单击一下即可工作 HTML代码 <div id="faqContainer"

我有一个页面(这是一个网站的常见问题页面),当用户点击一个div(例如#question01)时,它下面会出现一个新div。真的很简单,但我的功能是,当你第一次点击时,什么也没有出现,然后再点击一次,你就到了。My#faqAnswer01现在有一个“unhide”类,设置为display:block;(.hide=显示:无;)

这是我的两个问题:

1-为什么我必须单击两次才能执行我的函数

2-如何修复代码,使其只需单击一下即可工作

HTML代码

<div id="faqContainer">

   <div id="question01" onclick="showAnswer('faqAnswer01','imgArrow01');">Here's a question?<img src="public/images/gt.png" class="imgArrow" id="imgArrow01"></div>
        <div id="faqAnswer01" class="faqAnswerDiv hide">bla bla bla</div>

   <div id="question02" onclick="showAnswer('faqAnswer02','imgArrow02');">Another question here? <img src="public/images/gt.png" class="imgArrow" id="imgArrow02"></div>
    <div id="faqAnswer02" class="faqAnswerDiv hide">answer here.</div>

</div>

尝试将
image.src
更改为完整的URL,它应该可以工作

这将起作用的原因是,您的
src
public/images/gt.png
,即使在加载图像时正确地找到它,
src
仍然是
public/images/gt.png


因此,第一次单击时,它会运行else语句,并将
src
设置为完整的绝对url。然后再次单击,它将
src
更改为您第一次期望的值。
class
也是如此,它将
hide
类添加到图像中,该类已经存在,但第二次添加了
show
。代码运行正常,if语句错误。

尝试将
image.src
更改为完整URL,它应该可以工作

这将起作用的原因是,您的
src
public/images/gt.png
,即使在加载图像时正确地找到它,
src
仍然是
public/images/gt.png


因此,第一次单击时,它会运行else语句,并将
src
设置为完整的绝对url。然后再次单击,它将
src
更改为您第一次期望的值。
class
也是如此,它将
hide
类添加到图像中,该类已经存在,但第二次添加了
show
。代码运行正常,if语句错误。

因为第一次
src
不是您的
if
要检查的

src="public/images/gt.png"
VS


然后在第一次单击时将其设置为该值。然后第二次满足<代码>条件。

因为第一次
src
不是
if
要检查的

src="public/images/gt.png"
VS


然后在第一次单击时将其设置为该值。第二次,如果你的
条件得到满足,

太好了!现在我知道这是怎么回事了。谢谢你。我试过你的版本,但现在没有任何效果。.src必须以完整的绝对url开头吗?不明白为什么它不起作用。只要image.src和if statement.src是相同的文本,它就应该工作。.src只给出绝对url路径。即使我在img.src=='public/images/gt.png'中加入if语句,它也永远不会给出这样的结果。我所做的是解决我的问题,我只是把一个完整的网址在我的:)!呵呵。我原以为它会给你src里的一切。这也不是解决问题的办法。酷:)很高兴我能帮助Matt根据您的评论更新我的答案以获得正确的解决方案!伟大的现在我知道这是怎么回事了。谢谢你。我试过你的版本,但现在没有任何效果。.src必须以完整的绝对url开头吗?不明白为什么它不起作用。只要image.src和if statement.src是相同的文本,它就应该工作。.src只给出绝对url路径。即使我在img.src=='public/images/gt.png'中加入if语句,它也永远不会给出这样的结果。我所做的是解决我的问题,我只是把一个完整的网址在我的:)!呵呵。我原以为它会给你src里的一切。这也不是解决问题的办法。酷:)很高兴我能帮助Matt根据您的评论更新我的答案以获得正确的解决方案!我在src中给出了完整的路径,以便与like匹配。但它总是在其他部分进行。我在src中给出了完整的路径来匹配like。但它总是进入另一部分。
src="http://www.cbifinance.org/public/images/gt.png"