基本上,我试图让一个链接滑下一个div。这很简单,但是我需要多个链接滑下它们各自的div。我知道我可以为每个链接和div命名唯一的类并以此解决问题,但这也自然而然地需要复制每个链接- div的jQuery代码,而我有很多这样的链接- div。因此,我需要一个通用脚本。我的情况的简化版本如下:
HTML:
<div>
<a id=link1>toggle text 1</a>
<div class=link1>TEXT 1</div>
<a id=link2>toggle text 2</a>
<div class=link2>TEXT 2</div>
</div>
我尝试使用jQuery编写一个通用脚本:
$(document).ready(function() {
$('[id^=link]').bind('click', function() {
var $div = $(this).attr('id');
if($('[class=' + div + ']').is(':visible')) {
$('[class=' + div + ']').slideUp();
} else {
$('[class=' + div + ']').slideDown();
}
return false;
});
});
但是正如你所料,因为我在这里写作,它不起作用。我认为这与 ^= 有关,但我无法弄清楚如何改进它。
if($('[class=' + div + ']').is(':visible')) {
应该改为if($('[class=' + $div + ']').is(':visible')) {
,你忘记了变量名中的$
符号。 - chrisndiv
变量不应该是$div
吗? - James Wiseman