jQuery标签“未定义不是一个函数”

jQuery Tabs "Undefined is Not a Function"

本文关键字:一个 函数 标签 未定义 jQuery      更新时间:2023-09-26

我最近一直在尝试使用或熟悉JQuery选项卡函数。然而,每次我尝试使用它,我得到的错误"未定义的不是一个函数"。我已经研究了这个问题,很多人说这可能与。js文件未被加载有关,但事实并非如此,因为我的控制台选项卡显示它正在加载。

这是我一直试图测试的HTML文件:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
    <link rel="stylesheet" type="text/css" href="Portal.css" media="screen" />
    <script type="text/javascript" src="Portal.js"></script>  
    <script src="tabs.js"></script>
    </head>
    <body>

    <div id="tabs">
    <ul>
    <li><a href='#tab1'>Tab 1</a></li>
    <li><a href='#tab2'>Tab 2</a></li>
    <li><a href='#tab3'>Tab 3</a></li>
  </ul>
  <div id='tab1'>
       <p>Hi, this is the first tab.</p>
  </div>
  <div id='tab2'>
    <p>This is the 2nd tab.</p>
      </div>
     <div id='tab3'>
                   <p>And this is the 3rd tab.</p>
             </div>
               </div>
    </body>
    </html>

和tabs.js文件(在调试时抛出未定义错误):

$(document).ready(function () {
   $("div.tabs").tabs();
});

谢谢。如果需要,我可以提供更多的细节。没有使用CSS(但我不认为这是这里的问题)。

确保你是从外部源加载js。

我也遇到过类似的问题。我的代码可以在konqueror, opera和一些firefox/iceweasel浏览器中工作,但不能在其他浏览器和chromium中工作。

事实证明,虽然我的页面是https托管的,但我试图通过不安全的http连接加载外部js。这些链接被"不工作"的浏览器无声地丢弃了……我在铁轨上呆了好几个小时。

您选择的是class选项卡,但您拥有的是ID选项卡。

改为:

$( 'div#tabs' ).tabs();

或者将HTML改为:

class="tabs"

$( "#tabs" ).tabs()用这个代替$("div.tabs").tabs()