TypeError:jQuery(...)。find(...)。carousel不是一个函数

时间:2016-01-22 10:13:48

标签: javascript jquery html twitter-bootstrap jquery-ui

出于一些奇怪的原因,我得到js错误,虽然我已经连接了所有脚本,但旋转木马不是一个功能,例如jquery.js和bootstrap.js在调用script.js之前我有旋转木马功能。

我的代码在网站上运行得很好但是当我转移到网络应用程序时,我收到了这个错误,尽管元素是相同的。

所以在母版页中,我在标题部分有这个:

<script src="/assets/js/jquery.min.js" type="text/javascript"></script>
    <script src="/assets/js/jquery-noconflict.js" type="text/javascript"></script>
    <script src="/assets/js/jquery-migrate.min.js" type="text/javascript"></script>
    <script src="../Scripts/bootstrap.min.js"></script>
    <script src="/assets/js/script.js" type="text/javascript"></script> 

所有脚本都可以正常加载,一旦我打开页面,我就有这个例外:

enter image description here

在script.js中我有这个:

jQuery('myCarousel').find('.carousel').carousel({
    interval: 8000
});

我再说一遍,同样的结构在旧网站上运行良好,不知道为什么它在这里有所不同。

由于

更新:

生成Html标记:

<div id="myCarousel" class="carousel slide">
                    <div class="carousel-inner">
                        <div class="active item">
                        <div class="title"><h2>header</h2></div>
                        <figure><img src="/assets/images/gallery/YCQE183J8RHACYCHLISF.jpg" alt=""></figure>
                        <div class="carousel-caption"><a href="#">Learn more about our programs. </a><div class="arrow-right"></div></div>
                        </div>
                        <div class="item">
                        <div class="title"><h2>text1</h2></div>
                        <figure><img src="/assets/images/gallery/IB819WTCBL3HRM7NZ2CA.jpg" alt=""></figure>
                        <div class="carousel-caption"><a href="">text3</a><div class="arrow-right"></div></div></div>
                        <div class="item"><div class="title"><h2>text2</h2></div><figure><img src="/assets/images/gallery/6KCDVUKYCAXH91M6MWAU.jpg" alt=""></figure><div class="carousel-caption"><a href="#">text4</a><div class="arrow-right"></div></div></div>

                    </div>
                    <a data-slide="prev" href="#myCarousel" class="carousel-control left"></a>
                    <a data-slide="next" href="#myCarousel" class="carousel-control right"></a>
                </div>

2 个答案:

答案 0 :(得分:1)

您似乎缺少任何轮播脚本。这将导致carousel is not a function消息。它不是jQuery的一部分,如果你有完整版本,它只是boostrap的一部分。否则,您还需要包含bootstrap carousel.js插件文件。 http://www.w3schools.com/bootstrap/bootstrap_carousel.asp

此外,您的选择器无效,因为myCarousel是一个ID,因此应该是#myCarousel.carousel位于同一元素上,因此find不会匹配任何内容它:

尝试:

jQuery('#myCarousel.carousel').carousel({
    interval: 8000
});

或更好(因为id选择器是最有效的):

jQuery('#myCarousel').carousel({
    interval: 8000
});

答案 1 :(得分:1)

就我而言,我必须在文档就绪函数 $( document ).ready(function() { }); 中添加代码,错误消失了。希望它会帮助某人。