遗失:属性id之后

时间:2010-08-02 01:53:16

标签: jquery

我是一个jquery新手..我失踪了:在firebug控制台中出现属性id错误后..我不知道这段代码有什么问题..

$('#mytable tr').click(function(){
   $(this).animate({padding-left: '+=50px'}, 2000);
  }, function(){
   $(this).animate({padding-left: '-=50px'}, 2000);
  });

2 个答案:

答案 0 :(得分:3)

您不能像这样使用padding-left,您需要"padding-left"paddingLeft作为属性名称,如下所示:

$('#mytable tr').toggle(function(){
  $(this).animate({'padding-left': '+=50px'}, 2000);
}, function(){
  $(this).animate({'padding-left': '-=50px'}, 2000);
});

或者这个:

$('#mytable tr').toggle(function(){
  $(this).animate({paddingLeft: '+=50px'}, 2000);
}, function(){
  $(this).animate({paddingLeft: '-=50px'}, 2000);
});

在jQuery中,任何属性都传递到.animate().css(),其中包含大写gets replaced with -lower,因此paddingLeft会转换为padding-left

编辑:由于Reigel在评论中指出,您无法将多个功能绑定到click,我认为您的意思是{{ 3}}这就是我在上面提到的,这在每个click事件的函数之间交换。

答案 1 :(得分:0)

-对于对象声明中的文字键无效。你需要用破折号在任何键周围括起括号。

试试这个:

$('#mytable tr').click(function(){
  $(this).animate({"padding-left": '+=50px'}, 2000);
}, function(){
  $(this).animate({"padding-left": '-=50px'}, 2000);
});
编辑:你的意思是toggle代替click吗?