以下jQuery有什么问题

时间:2013-05-21 11:43:53

标签: jquery click jquery-animate toggle

以下jQuery什么都不做。 我错过了逗号吗?

<script>
$(".link<? echo $counter; ?>").click(function () {
    $('.sub').toggle(function () {
        $(".sub<? echo $counter; ?>").animate({
            height: ($(this).parent().height() * <? echo(count($$vari)); ?> ) + 20
        }, 1000);
    }, function () {
        $(".sub<? echo $counter; ?>").animate({
            height: 0
        }, 1000);
    });
});    
</script>

当我将代码更改为

时,控制台不会出现任何错误
<script>
$(".link<? echo $counter; ?>").click(function() {
$(".sub<? echo $counter; ?>").animate({
height: ($(this).parent().height() * <? echo (count($$vari)); ?>) + 20
}, 1000 );
});
</script>

该脚本有效(除了切换源)

2 个答案:

答案 0 :(得分:0)

在jQuery 1.9中删除了以这种方式使用的toggle()函数,现在只显示和隐藏元素。我们不可能知道PHP输出什么,但你通常不应该使用短标签?

另请注意,您在点击内部绑定了一个点击,每次点击.link*元素时,新的事件处理程序都绑定到.sub元素。

答案 1 :(得分:0)

在单击链接之前,请在浏览器上使用开发人员工具,并确保实际上已在控件上添加了侦听器。另外,“什么都不做”是什么意思?你的期望是什么?