我在尝试运行以下jQuery代码时收到错误(Uncaught TypeError: Property '$' of object [object Object] is not a function
):
$(document).ready(function(){
$('.login').click(function(){
$.getJSON('https://www.cloudflare.com/api_json.html', $('form').serialize())
});
});
我设置the test page时没有收到此错误,我只在my actual site收到。我已经尝试用
替换我的第一行代码jQuery(document).ready(function ($) {
因为其他帖子建议我的CMS在无冲突模式下加载jQuery,它只返回了一个不同的错误(Uncaught ReferenceError: jquery is not defined
)。有没有人有任何有用的建议?
答案 0 :(得分:2)
它应该是jQuery
而不是jquery
。
jQuery变量区分大小写。
您使用了jquery(document).ready(function($){
小案例q
,它应该是jQuery(document).ready(function($){
您可以将其缩短为
jQuery(function($){
$('.submit-login-info').click(function(){
$.getJSON('https://www.cloudflare.com/api_json.html', $('.logininfo').serialize())
});
});
答案 1 :(得分:1)
首先确保jQuery
js已加载。
同时检查与jQuery $
冲突的其他JavaScript库。
并使用jQuery.noConflict();
答案 2 :(得分:1)
JS区分大小写:
jquery(document).ready(function($){
^__ This should be capitalized
答案 3 :(得分:1)
在你的源代码中,jQuery全是小写的,“jquery”。这似乎是你的问题。将其更改为“jQuery”,看看它是否有效。
答案 4 :(得分:0)
<script type="text/javascript">
$(document).ready(function() {
$('a[href=#top]').click(function(){
$('html, body').animate({scrollTop:0}, 'slow');
return false;
});
});
</script>
然后你可以在该函数的范围内使用$,而不会与范围之外的其他库冲突