【发布时间】:2011-06-01 20:52:26
【问题描述】:
有很多显示/隐藏问题和示例,但我找不到答案。
我有一个类似这样的简单代码,用于页面内的几个区域。
jQuery(document).ready(function () {
jQuery('#mini-cart').hide();
jQuery('#mini-cart-a').click(function () {
jQuery('#mini-cart').toggle(400);
return false;
});
});
每个显示/隐藏都使用自己的 ID,所以我只是将 ID 分组如下:
jQuery('#show-hide1, #show-hide2').hide();
这种方法的问题是,当我单击显示/隐藏元素时,所有元素都会显示。
所以我尝试了类似的方法,但只有第一个有效,第二个无效,当我点击它时,它什么也不做。
jQuery(document).ready(function () {
jQuery('show-hide1, #show-hide2').hide();
jQuery('show-hide1 a, #show-hide2 a').click(function () {
jQuery(this).next().toogle(400);
}
return false;
});
});
我需要在一个页面中显示/隐藏 4 个不同的区域,并且真的不想重复相同的代码 4 次。谢谢!
更新: (对不起,我不能使用添加评论也不能回答我的问题)
谢谢大家的帮助。
Lee 的版本更像是一个标签——我不希望隐藏的 div 将 ID 关联到锚标记。这是 CMS 环境,所以如果可能的话,我会尽量简化它。
Andy 的版本也有类似的 ID 问题,所以我选择了 roXon 的
罗克森: http://jsbin.com/ihoqi3/2/ 点击查看包(2),你可以看到它正在工作,但是如果你进入问题选项卡,点击“提问”,它会从查看包中打开隐藏的容器。
杰里米 B 的版本: http://jsbin.com/ibayu4 它隐藏了 toggleLink 的文本。
在示例页面中,评论选项卡中的“选择您的茶”和“写评论”需要类似的处理,但如果我可以让上述两个工作,其余的将自行处理:)
现在我使用 4 个单独的代码来使其工作。
p/s,我需要使用 herf 锚,因为这对键盘用户很重要,JS 显示/隐藏隐藏的 div 无法切换。
【问题讨论】:
-
能否提供html结构
-
这是不正确的:
jQuery('show-hide1 a, #show-hide2 a').click(function () {你忘了在show-hide1前面添加#! :) -
拼写错误。在网站上它是正确的,它打开了一切。