300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > jquery选择不存在的元素如何做到不报错的 – CSS – 前端 css边框样式哪个好看

jquery选择不存在的元素如何做到不报错的 – CSS – 前端 css边框样式哪个好看

时间:2021-02-22 17:16:08

相关推荐

jquery选择不存在的元素如何做到不报错的 – CSS – 前端 css边框样式哪个好看

刚好这个月在看jquery源码,要回答这个问题,当然要从jquery源码来看了;

在这儿,使用的是jquery 2.0.3的版本源码进行说明;如,大家使用jquery去查找一个页面不存在的元素$(‘#test’)元素,看下源码具体走了哪些;在这儿就不一步一步进行源码分析,只是进行简单说明;

通过下图代码可以看出,调用$(‘#test’)时,会走jquery.fn.init函数;然后大家去看下此函数;

由于函数代码量过多,就不截图;简单说下,此函数会对传入的“selector”进行分类及各种情况处理;而这儿大家就看是id为test情况;首先它会通过下图判断

然后,会通过一个正则“match = rquickExpr.exec( selector );”进行匹配,匹配”#test”结果match如下:

然后会走原生方法document.getElementById方法:

因为页面本来没有此元素,所以会直接返回空(null),最后会走下图代码,返回最终结果由上图代码可知,即使返回结果为空,它也会返回一个jquery对象,里面包含context、selector属性,还有继承的jquery全局方法,结果如下图:所以,如果你即使查找一个没有的元素,它也会返回一个jquery对象,你也可以直接使用对象中所有的jquery全局方法;

上面只是用id的简单的方式,如果是类、标签、css等其他复杂的进行查找时,jquery会根据类型和浏览器的版本不同,使用不同的方式进行查找,但最终返回结果都差不多,而且即使没有,都会返回一个jquery对象;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。