我昨晚发现了jQuery,看起来非常好!我用它来显示/隐藏div ID,点击作为触发器显示最初隐藏在页面上的div ID。这很好用,我很自豪: - )
但是,我遇到了一个问题:单击一个触发器后,我希望它被隐藏起来。
所以我尝试添加一行来隐藏触发器onclick
,但这不仅不起作用,现在我加载页面时显示最初隐藏的div。
这是我最初尝试过的:
$(document).ready(function () {
$(‘#showhidetarget’).hide();
$(‘a#showhidetrigger’).click(function () {
$(‘#showhidetarget’).show(200);
**$(‘a#showhidetrigger’).hide();**
});
});
现在有人建议我可能无法隐藏触发器,因为它是一个内联元素(我对此一无所知)。他建议将一个触发器放在另一个div ID中,这是有道理的。因此,在使用名为“hideafterclick”的ID定义另一个包含a触发器的div之后,这就是代码的样子:
$(document).ready(function () {
$(‘#showhidetarget’).hide();
$(‘a#showhidetrigger’).click(function () {
$(‘#showhidetarget’).show(200);
**$(‘#hideafterclick’).hide();**
但是同样令人遗憾的结果是:初始部分(触发器)没有隐藏,并且应该隐藏的div立即可见onload
,而应隐藏它。当我删除包含.hide的粗线时,该过程非常有效。
有关我做错的任何建议吗?或者就如何解决这个问题? 只是为了完整:两个“部分”(div)包含代码和超链接。实际上点击第一部分(触发器)启动一个新窗口并显示第二部分,这工作正常。只是第一部分(触发器)必须随后变得不可见......
谁可以帮我这个?
我可以使用除div之外的其他东西吗?
提前感谢您的智慧和帮助,
托马斯(比利时)亲爱的Shikiryu,亲爱的DavidYell,
非常感谢你的jsFiddles:我不知道jsFiddle,但它很棒,如此完整,如此清晰而又如此简单!
有时,幸福可以在一个似乎不重要的小细节中找到。因为最后,我所做的只是进行了一次小修改......
我最初在包含href的触发器部分中编写的内容是:
<a id="showhidetrigger" href="HYPERLINK"> blabla</a>
根据您的示例,我最终更改了标记ID的位置,因此它变为:
<a href="HYPERLINK" id="showhidetrigger">blabla</a>
不要问我为什么,我仍然不知道究竟是什么区别,但现在它就像一个魅力,这才是最重要的!当然HYPERLINK部分在我的情况下很长,它属于CFOutput有很多标签和查询,它包含另一个javascript来打开弹出窗口中的链接等等...所以也许这就是它在第一次出错的地方地点。
感谢您的帮助,我很高兴!
感激你的,
托马斯
大家好,
非常感谢你的答案到目前为止!
关于撇号:我使用了通用的“那些”好吧,似乎当从邮件窗口复制粘贴时,它们发生了变化,但它们在代码本身中没有问题,所以问题就不存在了。
关于**星号:我只是把它们放在那里指向它出错的部分。对不起,如果这引起了混乱,我已经明白**会让那条线变粗,我的错误。但无论如何,代码本身没有星号。
只是我没有添加最后一行,它完美地运行:onclick
触发器的href
打开(在新窗口中,使用javascript)和(最初隐藏)目标div变得可见。但是一旦我尝试隐藏了一个触发器,目标div就会显示为onload,而a触发器不会被隐藏onclick
。所以然后我绑定在包含触发器的代码周围放置另一个div id,但结果相同。
我会告诉你的!
亲切的问候,
托马斯(比利时)
答案 0 :(得分:0)
我会做类似的事情,http://jsfiddle.net/nxPEr/1/
希望它有所帮助:)祝jQuery好运!这太棒了:))
答案 1 :(得分:0)
如果遇到类似这样的问题,请使用Firefox和Firebug,如果您有任何Javascript错误,它通常会指向正确的方向。尝试这样做以查看它显示的错误。
您还使用‘
代替'
或"
,这可能会影响对网页的解析。
奇怪的是,你还有最后一行以**
开头和结尾。这可能会导致错误。
答案 2 :(得分:0)
答案 3 :(得分:0)
$('#triggerDiv').click(function () {
$(this).hide();
$('#hiddenDiv').show(200);
});
使用撇号代替引号。