---恢复内容开始---

JQuery $未定义

 

jquery是Yii集成的,利用jquery写的代码
$(document).ready(function(){
// 操作列表
$('.operate').mouseover(function() {
$('#operate-'+$(this).attr('key')).show();
}).mouseout(function() {
$('#operate-'+$(this).attr('key')).hide();
});

$('.toggle-btn a,.delete-a').live('click',function() {
var str = $(this).html();
var vid = $('.grid-view').attr('id');
if(!confirm('确定要'+str+'吗?')) return false;
var th=this;
var afterDelete=function(){};
$.fn.yiiGridView.update(vid, {
type:'POST',
url:$(this).attr('href'),
success:function(data) {
$.fn.yiiGridView.update(vid);
afterDelete(th,true,data);
},
error:function(XHR) {
return afterDelete(th,false,XHR);
}
});
return false;
});
第九行说我“$”未定义。。不明白原因

满意回答

(function($){ $(document).ready(function(){ ......... })(jQuery); 防止$在命名空间上有冲突,可以用这样的方式书写。

追问

能给出一个冲突的例子不!谢谢了。。
 

回答

<script src="jquery.js"></script> <script> var $ = function(id){return document.getElementByIdx_x(id)}; //or function $(id){return document.getElementByIdx_x(id)} //or <script src="else js Yii.js"></script> $(document).ready(function(){ ...... }); </script> 上面的就是有命名冲突了,下面的就没有问题: (function($){ $.......//函数里面所有的$都是jQuery })(jQuery); //意思是有1个参数的函数并且执行这个参数为jQuery的函数 (function(){***})();一个函数,并且执行这个函数 function(){***}只是定义,没有执行

刚学习JQuery,按照视频所讲的编写Html文件,完成后用IE9调试显示$符号找不到,$未定义,于是乎我就上网查询出现这种问题的原因,网上无非是说,JS文件引用不对,或者是Html文件的设置编码格式不正确,我仔细的检查了一下Html文件,不没有编码格式设置为UTF-8应该没有问题,因为在FF或IE上测试并没有出现乱码的问题,接下来测试文件引用是不是正确,我把自己编写的JS代码直接放在Html文件里,测试了一下也没有问题啊。这就郁闷了,究竟是啥问题呢?网上说的问题我也没有出现啊,调试了一段时间,看了一下时间不早了,还是睡觉吧,第二天还得上班呢?
第二天,做完手头上的工作,想起昨天遇到的问题,于是我又上网查询了一下,无意间看到一句话。自己编写的JS文件如果想要调用JQuery文件里的函数,JQuery文件引用要放在自己编写JS文件引用位置的前面。是不是自己编写的JS文件引用位置放的不对,这个很有可能。晚上会到寝室看了一下确实是我把JQuery文化引用位置放到了自己编写JS文件的后边。换了一下它们的位置,果然测试正确。由此有以下几点小感触:
1、问题解决不了时不要纠结于一时,放下了有可能你所需要的答案很可能就来了。
2、遇到不懂的问题上网查询是很好的一种学习方法,但没有经过深思熟虑的思考遇到问题就上网去找答案却不是一种好的学习方法。有一句话说的好,尽信书不如无书,网络也如此,尽信网不如无网。没有经过思考就上网查询,很容易被网上的一些说法所误导,让你离自己问题的最佳解决方案渐行渐远,况且网上的很多答案都差不多,那样的话找到自己所需要的答案可就越来越远了。
3、扎实的专业知识很重要。以前在工作中遇到一些不能解决的问题,总喜欢上网查询,可是有时候上网查询未必就能找到你想要的答案,毕竟具体问题具体分析嘛。这时候答案一般是自己想出来的而不是从网上找到的,可见这时候就体现出你所掌握专业知识的重要性了。由此可知,网上提供的答案只是给你提供了一种解决思路,具体怎么解决,还得靠自己的专业知识和深思熟虑才能真正找到。

---恢复内容结束---

JQuery $未定义的更多相关文章

  1. 错误: “WebForm_DoPostBackWithOptions”未定义

    无论是ASP.NET WebForm 还是 ASP.NET MVC项目,在本地程序测试没问题,但是部署在IIS上访问就会出现  错误: “WebForm_DoPostBackWithOptions”未 ...

  2. IE6 IE7 ‘JSON’ 未定义

    今天在调试javascript程序,在FireFox和Chrome没有问题,但是在IE中,一些可以,就会出现如标题的错误:‘JSON’ 未定义: 在IE6,IE7一定有此错误,以及IE能设置兼容性视图 ...

  3. 使用ajax.dll时js脚本错误-XXX未定义

    操作系统:Windows 7 IIS:7.5 ajax.dll现在用的比较少,但是以前的项目有这个,使用的时候很容易出现这个错误,因为总是会遗漏配置. 使用ajax.dll时,js脚本错误,无法调用后 ...

  4. .Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法。

    方法一.浏览器设置成兼容模式. 方法二.安装服务器版的.Net40的补丁.http://download.csdn.net/detail/5653325/6642051 方法三.点击VS的工具菜单-- ...

  5. .NET4.0 __doPostBack未定义

    方法一.浏览器设置成兼容模式. 方法二.安装服务器版的.Net40的补丁.http://download.csdn.net/detail/5653325/6642051 方法三.点击VS的工具菜单-- ...

  6. “__doPostBack”未定义

    项目中发现IE10等高级浏览器报错 ASP.NET无法检测IE10,导致_doPostBack未定义JavaScript错误 为此微软工程师解释如果发布asp2.0 asp4.0发布时,这些浏览器还未 ...

  7. jquery.uploadify 异常 “__flash__removeCallback”未定义

    使用场景结合artdialog弹出框使用时发生“__flash__removeCallback”未定义,原因在于artdialog基于iframe加载的uloadify,在关闭artdialog的时候 ...

  8. IE11出现“__doPostBack未定义”的解决办法。

    方法一:浏览器设置成兼容模式,这个是超级掩耳盗铃方法,你就没想过其他人也会出这个问题. 方法二.安装服务器版的.Net40的补丁.http://download.csdn.net/detail/565 ...

  9. int左移32位的行为未定义/Coverity

    int左移32位的行为未定义 Coverity 代码静态安全检测 Is Shifting more than 32 bits of a uint64_t integer on an x86 machi ...

  10. ILog JRules 标识符 X 未定义

    在定义枚举值时,属性“转译”(“translation”),定义字符串时需要双引号,相当于value值. 其属性值如果只有字符串,而没有双引号,在编译或者执行时就会报“标识符X未定义”的错误信息.

随机推荐

  1. CentOS随笔 - 4.CentOS7安装MySql 5.5.60(下载 tar 方式安装)

    前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 由于公司也有php+mysql的项目, 所以今天也把Mysql装了一遍. 为了与以前的程序和数据库兼容, 这次 ...

  2. 关于linux中的上下文切换

    对于linux中的上下文一直以来没有特别的关注其合理范围应该是多少(关于上下文切换的概念,网上已经有很多解释了,再次不再重复),白天偶尔注意到了一下,晚上特地看了下白天负载和和收盘后的负载如下(服务器 ...

  3. Node-webkit 安装使用npm安装模块方法

    原文链接:http://jingyan.baidu.com/article/5225f26b5aaa20e6fa0908a6.html package.json可以放在软件根目录下,也可以放在项目目录 ...

  4. Pycharm 2017 激活码

    Pycharm 2017 激活码 server选项里边输入:  http://idea.liyang.io 我是通过这个成功的

  5. thinkphp中的__DIR__ __ROOT__ __APP__ __MODULE__ APP_PATH LIB_PATH MODULE_PATH 等是在哪里定义的?

    为什么会产生这样的 路径 常量等 的 困扰? 是由于 在tp中, 使用了多种形式的常量导致的, 比如, 有php语言本身的 "魔术常量", 有 php函数, 比如dirname定义 ...

  6. Asp.net简单概念知识

    1. 简述 private. protected. public. internal 修饰符的访问权限.答 . private :   私有成员, 在类的内部才可以访问.      protected ...

  7. Max Factor(素数筛法)题解

    Max Factor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  8. 【Coursera】Security Introduction -Summary

    对这门课程的安全部分进行一个小结. 往期随笔 第八周第一节 第八周第二节 第九周第一节 第九周第二节 前言:为什么互联网要提及安全 因为security牵扯到我们每一个人,有人每时每刻都想着要偷取别人 ...

  9. 指数循环节 求A的B次方模C

    phi(c)为欧拉函数, 欧拉定理 : 对于互质的正整数 a 和 n ,有 aφ(n)  ≡ 1 mod n  . A^x = A^(x % Phi(C) + Phi(C)) (mod C) (x & ...

  10. STL_算法_04_算术和生成算法

    ◆ 常用的算术和生成算法: 1.1.求和( accumulate 是求和的意思)(对指定范围内的元素求和,然后结果再加上一个由val指定的初始值.) T accumulate(iteratorBegi ...