#accordion不是一个函数

时间:2012-01-26 11:41:50

标签: jquery wordpress function

手风琴脚本有问题,手风琴在我使用直接html工作时工作,但现在已经转移到wordpress手风琴已停止工作。

这是我的代码

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
  <script>
  $(document).ready(function() {
    $("#accordion").accordion();
  });
  </script>
<?php wp_head(); ?>

和html:

            <div id="accordion">
 <div class="button"><a href="#">Infrastructure</a></div>
    <div><?php
            if (function_exists('iinclude_page')){
                iinclude_page('sectors/infrastructure');
            }?>
            </div>
    <div class="button"><a href="#">Housing</a></div>
    <div><?php
            if (function_exists('iinclude_page')){
                iinclude_page('sectors/housing');
            }?></div>
                <div class="button"><a href="#">Education</a></div>
    <div><?php
            if (function_exists('iinclude_page')){
                iinclude_page('sectors/education');
            }?></div>
                <div class="button"><a href="#">Health</a></div>
    <div><?php
            if (function_exists('iinclude_page')){
                iinclude_page('sectors/health');
            }?></div>
</div>

我真的不明白这个问题,因为它直接用于HTML。我甚至尝试用直接文本删除include函数,它仍然不起作用?

有什么想法吗?没有其他jquery对象干涉。

3 个答案:

答案 0 :(得分:13)

您正在加载jQuery两次(1.5后跟1.7.1),并在加载1.5但加载1.7.1之前加载jQuery UI。所以这就是发生的事情:

  1. 加载了jQuery 1.5。

  2. 加载jQuery UI并将其自身附加到此时存在的jQuery对象。

  3. 加载了jQuery 1.7.1,完全取代了jQuery对象。

  4. 您的代码使用(1.7.1)jQuery对象运行,jQuery UI尚未添加其优点。

  5. 如果你只加载jQuery一次,并确保你之后加载jQuery UI,它将会工作。

答案 1 :(得分:2)

你包括jQuery两次,也许那就是那个问题?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
..
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

答案 2 :(得分:0)

当你在Wordpress上运行它时,你能告诉我完整的HTML吗? 我想可能在包含页面中有一些可能会破坏手风琴的未封闭标签。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

并尝试不要两次插入jQuery。