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

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. DNS视图及压力测试(四)

    Bind安全控制选项 Allow-transfer {}; #用于控制区域传送文件 Allow-query {}; #通常用于服务器是缓存名称服务器时,控制查询客户端 Allow-recursion ...

  2. P1516/bzoj1477 青蛙的约会

    青蛙的约会 exgcd 根据题意列出方程: 设所用时间为T,相差R圈时相遇 (x+T*m)-(y+T*n)=R*l 移项转换,得 T*(n-m)-R*l=x-y 设a=n-m,b=l,c=x-y,x_ ...

  3. 20145105 《Java程序设计》实验二总结

    实验二 Java面向对象程序设计 一. 实验内容: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.多态.建模 初步掌握UML 熟悉S.O.L.I.D原则 了解设计模式 二. 实验步骤 (一 ...

  4. Python3基础 __add__,__sub__ 两个类的实例相互加减

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. Python3基础 else 循环完整结束才执行

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. Https流程,openssl本地自建证书,抓包

    HTTPS:超文本安全传输协议,和HTTP相比,多了一个SSL/TSL的认证过程,端口为443在http(超文本传输协议)基础上提出的一种安全的http协议,因此可以称为安全的超文本传输协议.http ...

  7. sql 锁

    数据库中不使用锁时可能出现的问题: 1.更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了.这是因为系统没有执行任何的锁操作,因 ...

  8. HDU 3404 Switch lights(Nim积)题解

    题意:在一个二维平面中,有n个灯亮着并告诉你坐标,每回合需要找到一个矩形,这个矩形xy坐标最大的那个角落的点必须是亮着的灯,然后我们把四个角落的灯状态反转,不能操作为败 思路:二维Nim积,看不懂啊, ...

  9. 使用InputStreamReader读入,使用OutputStreamWriter写出,将一首诗按行重写?

    https://www.processon.com/view/link/5b1a3880e4b00490ac8f5f40 改善后: (可将不管一行有几个字时的不规律的文本,按行倒写) package ...

  10. Unity3D学习笔记(十):Physics类和射线

    物理系统:碰撞器.触发器等 力:有大小有方向的矢量,有受力点位置(和向量的区别) ----F = ma(m质量,a加速度,质量越大,加速度越小,停下来越慢) ----m1v1 = m2v2(冲量守恒定 ...