JQuery - $ 未使用 Yeoman 定义
JQuery - $ is not defined with Yeoman
我正在使用 Yeoman 启动一个新的 Web 应用程序,我想知道为什么我无法访问 $ 元素。
例如,我有这个:
<ul id="collapse">
<li>asdas</li>
<ul id="collapse2">
<li>sgdfg</li>
<li>fdg</li>
<li>dfg</li>
</ul>
<li>asdasd</li>
<ul>
<li>sgdfg</li>
<li>fdg</li>
<li>dfg</li>
</ul>
我想通过 id 访问第一个 ul:
var $collap = angular.element($('#collapse'));
var $collap = $('#collapse');
我想,我已经很好地加载了 jquery 库,因为 yeoman 帮我做了,我试过这个:
if (window.jQuery) {
window.alert('si');
} else {
window.alert('no');
要知道jquery是不是load而且是load。我不知道我还能尝试什么,我已经阅读了很多有关此类错误的信息,但没有人与我的匹配。
这是我的索引:
[...]
<!-- Google Analytics: change UA-XXXXX-X to be your site's ID -->
<script>
!function(A,n,g,u,l,a,r){A.GoogleAnalyticsObject=l,A[l]=A[l]||function(){
(A[l].q=A[l].q||[]).push(arguments)},A[l].l=+new Date,a=n.createElement(g),
r=n.getElementsByTagName(g)[0],a.src=u,r.parentNode.insertBefore(a,r)
}(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-X');
ga('send', 'pageview');
</script>
<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="bower_components/angular-touch/angular-touch.js"></script>
<script src="bower_components/jquery-ui/jquery-ui.js"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/app.js"></script>
<script src="scripts/controllers/main.js"></script>
<script src="scripts/controllers/about.js"></script>
<!-- endbuild -->
这是我每次尝试新事物时得到的结果:“$”未定义。
如果有人能帮助我,我将不胜感激。
我也尝试过:
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
还是不行。
您在代码中需要注意的事情很少。
首先,您正在加载 jQuery 两次。请只加载一次jQuery。
其次,如果您的 jQuery 正在异步加载,这有时会产生问题。这意味着您的代码在 jquery 加载之前首先被调用。这是不正确的。请确保您的 jQuery 在其他调用方法之前加载。
第三,如果您正在使用 angular 然后使用依赖注入功能来解决 angular 服务或控制器中的 '$' 依赖。
我正在使用 Yeoman 启动一个新的 Web 应用程序,我想知道为什么我无法访问 $ 元素。 例如,我有这个:
<ul id="collapse">
<li>asdas</li>
<ul id="collapse2">
<li>sgdfg</li>
<li>fdg</li>
<li>dfg</li>
</ul>
<li>asdasd</li>
<ul>
<li>sgdfg</li>
<li>fdg</li>
<li>dfg</li>
</ul>
我想通过 id 访问第一个 ul:
var $collap = angular.element($('#collapse'));
var $collap = $('#collapse');
我想,我已经很好地加载了 jquery 库,因为 yeoman 帮我做了,我试过这个:
if (window.jQuery) {
window.alert('si');
} else {
window.alert('no');
要知道jquery是不是load而且是load。我不知道我还能尝试什么,我已经阅读了很多有关此类错误的信息,但没有人与我的匹配。 这是我的索引:
[...]
<!-- Google Analytics: change UA-XXXXX-X to be your site's ID -->
<script>
!function(A,n,g,u,l,a,r){A.GoogleAnalyticsObject=l,A[l]=A[l]||function(){
(A[l].q=A[l].q||[]).push(arguments)},A[l].l=+new Date,a=n.createElement(g),
r=n.getElementsByTagName(g)[0],a.src=u,r.parentNode.insertBefore(a,r)
}(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-X');
ga('send', 'pageview');
</script>
<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="bower_components/angular-touch/angular-touch.js"></script>
<script src="bower_components/jquery-ui/jquery-ui.js"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/app.js"></script>
<script src="scripts/controllers/main.js"></script>
<script src="scripts/controllers/about.js"></script>
<!-- endbuild -->
这是我每次尝试新事物时得到的结果:“$”未定义。 如果有人能帮助我,我将不胜感激。
我也尝试过:
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
还是不行。
您在代码中需要注意的事情很少。
首先,您正在加载 jQuery 两次。请只加载一次jQuery。
其次,如果您的 jQuery 正在异步加载,这有时会产生问题。这意味着您的代码在 jquery 加载之前首先被调用。这是不正确的。请确保您的 jQuery 在其他调用方法之前加载。
第三,如果您正在使用 angular 然后使用依赖注入功能来解决 angular 服务或控制器中的 '$' 依赖。