我的jQuery语法错在了吗?

时间:2009-06-25 18:51:27

标签: javascript jquery syntax

我正在学习jQuery,我发现这段代码无效:

<script type="text/javascript">
  $(document).ready(
    /* Navigtion Stuff */
      function(){
        $('.menu ul').hover(
          function(){
            $(this).parent().addClass("active");
          },
          function(){
            $(this).parent().removeClass("active");
          }
        )
      },
      function(){
        $(".menu").parents("li").addClass("active");
      }
    );
</script>

第一个功能完成它应该做的事情。第二个功能没有。我的语法不好吗?如果没有,那么我感觉我的代码与页面上的其他Javascript冲突。

提前致谢!

3 个答案:

答案 0 :(得分:4)

你对括号有点混淆

 $(document).ready(
/* Navigtion Stuff */
  function(){
    $('.menu ul').hover(
      function(){
        $(this).parent().addClass("active");
      },
      function(){
        $(this).parent().removeClass("active");
      }
    );
    $(".menu").parents("li").addClass("active");
  }
);

更好。

答案 1 :(得分:3)

就绪功能只需要一个参数。您正在尝试传递两个函数。

功能1:

function(){
        $('.menu ul').hover(
          function(){
            $(this).parent().addClass("active");
          },
          function(){
            $(this).parent().removeClass("active");
          }
        )
      }

功能2:

function(){
        $(".menu").parents("li").addClass("active");
      }

将悬停事件绑定到$('。menu ul')并将'active'类添加到$(“。menu”)。parent(“li”)你应该做什么

$(document).ready(function() {
        /* Navigtion Stuff */

            $('.menu ul').hover(
              function(){
                $(this).parent().addClass("active");
              },
              function(){
                $(this).parent().removeClass("active");
              }
            )
            $(".menu").parents("li").addClass("active");
        });

答案 2 :(得分:2)

就绪功能仅将一个功能作为参数。有关示例,请参阅上述帖子。