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