错误:对象没有方法“拆分”

时间:2012-03-04 01:45:00

标签: jquery jquery-ui positioning

我想爱上jQuery UI的定位功能,但每次运行附加代码时,我都会在javascript控制台中收到以下错误:

  

firefox:(b[this] || "").split is not a function
  chromium:未捕获TypeError:对象[object Object]没有方法'split'

我已经下载了完整的jquery-UI软件包,其中包括css,jQuery-min和jQuery-UI-min。

不确定我是否只是错误地使用它而错过了一个简单的事情来踢出魔法。我试图模仿the example from the project webpage:C至少我希望当前版本没有被破坏:C

<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>

    <link rel="styleSheet" type="text/css" href="jquery-ui-1.8.18.custom.css" />

    <script type="text/javascript" src="jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="jquery-ui-1.8.18.custom.min.js"></script>

    <script type="text/javascript">
         $( function() {

        function position( using ) {

             $("#main").position({
              of: $( "#head" ),
              my: $( "right top"),
              at: $( "right bottom")
            });
        }

        position();
    });
  </script>
  </head>

  <body>
    <div id="head" style="background-color: #F21; height: 7%">
      Menu
    </div>

    <div id="main" style="background-color: #1A9; width: 50%; height: 50%; position: absolute">
      <h1>Jules Verne</h1>
    </div>
  </body>
</html>

1 个答案:

答案 0 :(得分:4)

您将错误的参数传递给“my”和“at”。你只需要传递一个字符串,而不是一个jQuery对象。这样做是这样的:

$("#main").position({
    of: $("#head"),
    my: "right top",
    at: "right bottom"
});

<强> jsFiddle example

(更新代码和jsfiddle以匹配问题编辑)