-2

我正在尝试运行以下代码:

$(document).ready({

    $("#menu-nav a").hover(
         function () {
           $(this).css ( marginRight: '20px' );
         }, 
         function () {
            $(this).css ( marginRight: '10px' );
         }
     );



}); //end ready

但是,我的dreamweaver 报错就行了$("#menu-nav a").hover(。可以将选择器用作#menu-nav a其他东西还是应该使用其他东西?

4

4 回答 4

3

问题不是这个:

$(document).ready({

你需要这个:

$(document).ready(function () {

我相信您知道这一点,但是由于错误显示在以下行中,因此很容易忽略。


另一个问题:

我想你也会在这里遇到问题:

 $(this).css ( marginRight: '20px' );

根据jQuery docs,你应该使用这个:

 $(this).css ('margin-right', '20px');

替代:

这里还有一件事,只是为了给出一个完整的答案。正如评论中所指出的,如果您不想使用它,您实际上根本不需要 jQuery。试试这个:

#menu-nav a:hover { margin-right: 20px; }

您可以添加任何您想要的样式。

于 2012-11-21T14:19:04.643 回答
3

在你的例子中

$(document).ready({...});

应该

$(document).ready(function(){
    //...
});

也改变

$(this).css ( marginRight: '20px' );

$(this).css('marginRight','20px');

或者

$(this).css({'marginRight':'20px'});

在两条线上

于 2012-11-21T14:19:28.610 回答
2

你不传递一个对象,所以你不能使用property: value,你可以编码:

$(this).css({ marginRight: '20px'});

或者:

$(this).css( 'marginRight', '20px' );
于 2012-11-21T14:20:05.297 回答
0

我使用这个约定来避免在无数的括号和括号中迷失和困惑:

$(document).ready(DocReady);

function DocReady()
{       
       // More code here
}

一个优点是您还可以通过单击按钮调用 DocReady 函数(也许是为了测试它)。

于 2012-11-21T14:22:51.423 回答