如何让JQuery报错-遁地龙卷风
0.解决的问题
a.当选择器语法没有问题,找不到元素时,让jquery报错
b.选择器语法有问题,程序无法继续执行时,让jquery报错
主要针对传递字符串,尝试前请备份jquery库,最好改变名字加已区分.
1.环境配置
jquery-3.0.0.js未压缩版
2.选择器语法没有问题,找不到元素
修改jquery源码增加代码,以下是修改后的代码,加红的是增加部分
var
version = "3.0.0", // Define a local copy of jQuery
jQuery = function( selector, context ) { // The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
if(typeof window["[]"] == "undefined")
{
window["[]"] = [];
window["[]"]["selector"] = selector;
window["[]"]["current"] = 0; }
else
{
window["[]"]["current"] ++;
}
var c = new jQuery.fn.init( selector, context )
if(window["[]"]["current"]-- == 0)
{ if(c.length == 0)
{ window.console.error(window["[]"]["selector"] +"找不到");
}
delete window["[]"];
}
return c;
},
3.选择器语法有问题,导致程序无法继续执行
代码举例
$(function()
{
var lol = $("li:");
alert(lol.length);
});
在上个问题增加的代码的基础上,向jquery源码增加代码,以下是修改后的代码,红色是增加部分
process = special ?
mightThrow :
function() {
try {
mightThrow();
} catch ( e ) { if ( jQuery.Deferred.exceptionHook ) {
jQuery.Deferred.exceptionHook( e,
process.stackTrace );
} // Support: Promises/A+ section 2.3.3.3.4.1
// https://promisesaplus.com/#point-61
// Ignore post-resolution exceptions
if ( depth + 1 >= maxDepth ) { // Only substitute handlers pass on context
// and multiple values (non-spec behavior)
if ( handler !== Thrower ) {
that = undefined;
args = [ e ];
} deferred.rejectWith( that, args );
}
if(typeof window["[]"]!="undefined")
{ if(window["[]"]["current"] == 0)
{
window.console.error(window["[]"]["selector"]+"使程序无法向下执行");
}
}
} };
至于程序无法向下执行的原因,我也无法给出肯定的回答,JavaScript的函数调用总是会返回内容,我使用debug工具查找时,走到这个函数的末尾就不走了,怎么说呢,有缘再会吧!
找到原因了var lol = $("li:");报错了,导致程序的终止
try
{
var lol = $("li:");
}
catch(e)
{
alert(e);
}
如何让JQuery报错-遁地龙卷风的更多相关文章
- Jquery报错:Uncaught TypeError: ((m.event.special[e.origType] || (intermediate value)).handle || e.handler).apply is not a function
页面中出现了Jquery报错:Uncaught TypeError: ((m.event.special[e.origType] || (intermediate value)).handle || ...
- jQuery报错:
jQuery报错:Uncaught ReferenceError: $ is not defined 在使用jQuery的时候,发现有如下报错: Uncaught ReferenceError: $ ...
- vs中正常IIS发布网站后css样式、图片丢失jQuery报错 $ is not defined
问题描述: VS运行能够正常看到样式和图片 ,IIS发布后样式丢失.图片不显示.并且jQuery报错“$ is not defined”. 问题分析: 1.首先怀疑是样式文件.图片等发布的时候没有发布 ...
- jquery 报错 $.cookie is not a function()
jquery 报错 $.cookie is not a function() ——我是之前可以运行的项目,突然报这个错误,很奇怪. 这是jquery的cookie插件报错. 插件名: jquery.c ...
- Eclipse中Jquery报错
在网上看到很多 jQuery-xxx.js 在eclipse中报错的解决方案大多是说 项目右键 Properties->Validation->JSP Content Validator ...
- jQuery报错:Uncaught ReferenceError: $ is not defined
在使用jQuery的时候,发现有如下报错: Uncaught ReferenceError: $ is not defined (anonymous function) 出现这个报错的原因: 1.j ...
- jQuery 报错,对象不支持tolowercase属性或方法
泪流满面.<input>里id和name都不能是nodeName,否则跟jquery.js冲突 JQuery 实践问题 - toLowerCase 错误 在应用JQuery+easyui开 ...
- js、jquery报错
js.jquery一直报错,是myecplise的问题, 右键项目->属性->builder->js validate去掉单个文件出错 右击文件->myecplise-> ...
- ie9/8的iframe中jQuery报错
此文章用于对工作中遇到的问题进行记录 jQuery 版本:1.9.1 按照一般的思路,jquery 1.x的是支持ie9及以下的,但是今天发现jquery报错了,代码错误位置在源码版本的第4888行 ...
随机推荐
- PHP常用函数备用
刚学习php的时候,我也为记忆php函数苦恼不已.认为干嘛记忆这么枯燥无味的东西呢?用的时候查一下手册不就行了吗?但是当时因为身在辅导机构,还是记忆了一大堆自己并不感兴趣的函数. 由此就想起来,小的时 ...
- JavaWeb学习总结-01 JavaWeb开发入门
一 基本概念 1 Web开发的相关知识 Web,表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面): ...
- java编程思想-java中的并发(二)
二.共享受限资源 有了并发就可以同时做多件事情了.但是,两个或多个线程彼此互相干涉的问题也就出现了.如果不防范这种冲突,就可能发生两个线程同时试图访问同一个银行账户,或向同一个打印机打印,改变同一个值 ...
- js020-JSON
js020-JSON 20.1 语法 JSON的语法可以表示为一下三种类型的值. 简单值 使用与JS相同的语法,可以在JSON中表示字符串.数值.布尔值和null,但是JSON不支持JS中的特殊性Un ...
- quartz_jobs.xml标准配置
<?xml version="1.0" encoding="UTF-8"?><job-scheduling-data xmlns=" ...
- ioctlsocket()
ioctlsocket()是控制套接口的模式. 外文名 ioctlsocket() 含 义 控制套接口的模式 头文件 #include <winsock.h> 性 质 函数 目 ...
- 解决git pull 命令失效,不能从远程服务器上拉取代码问题
用时候在用Git pull命令的时候不管用,拉取不下来远程分支上的代码,是因为本地分支和远程分支没有建立关联. 处理这种问题很简单就按照提示执行命令即可:git branch --set-upstre ...
- MYSQL数据库的常用数据类型
列类型 说明 tinyint/smallint/mediumint int(integer)/bigint 1字节.2字节.3字节.4字节.8字节整数,又可分有符号和无符号两种.这些整数类型的区别仅仅 ...
- 10月14日下午MySQL数据库基础
数据库基础 类型: 1.varchar:字符串,用于姓名班级,地址等,地址一般长50,姓名长20 2.int:整数,用于成绩,序号等 3.float:小数 4.bit:布尔型,用于性别等 5.时间也用 ...
- 【C++11】新特性——auto的使用
[C++11]新特性——auto的使用 C++11中引入的auto主要有两种用途:自动类型推断和返回值占位.auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除.前后 ...