![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jquery
文章平均质量分 73
李·尔摩斯
真相只有一个
展开
-
分析JQuery的JSON处理方式
<br /> <br /> 在我以前猜想,JQuery处理JSON的方法是直接eval,给一个变量,但是,今天看到其源代码,证明我的想法彻底错了。<br /> 它先判定有没有window.JSON.parse这个方法,如果有,直接用这个方法解析,如果没有,会new一个匿名函数,里面的内容,就是返回JSON的执行结果。 我试了一下,window.JSON这个对象,在Firefox/Webkit的浏览器中存在,但IE6-IE8都没有。 另外,如果大家需要解析JSON字符串,可以直接使用jquery的pa原创 2010-09-16 08:54:00 · 729 阅读 · 0 评论 -
对jQuery的html()方法进行分析
<br /> <br /> jQuery的html()方法分为读的写,其内部实现,均不是简单的innerHTML。<br /> 对于读来说,jQuery在读的时候,会去掉一些其自行在内部加的标记,至于这些标记什么时候加的,有什么作用,暂时还没研究过。<br /> 对于写,首先判断参数是不是一个函数,如果不是,那就直接使用innerHTML,但是,我想大家都知道,jQuery的html()方法是可以传jQuery对象和DOM对象的,对于innerHTML来说,是不能赋值一个对象的,只能是一个字符串,jQ原创 2010-09-16 08:57:00 · 756 阅读 · 0 评论 -
jQuery执行Script的方式
<br /><br /> 在jQuery中,有一个globalEval的和evalScript(此方法未绑定在jQuery对象中)的方法,用于执行Script语句,下面分分来讲一下<br /> <br /> 首先,说一下evalScript。evalScript方法传入的是一个<script>标签的DOM对象,一般是执行Script标签中的外部引用JS或内部JS语句。如果是一个引用外部的JS,那它直接执行一个AJAX,然后,把asyncy设置为false。如果是执行的Script语句,那就调用jQuer原创 2010-09-16 08:58:00 · 1272 阅读 · 0 评论 -
jQuery的AJAX操作分析
<br /><br /> jQuery通过AJAX读取数据的方法有:ajax,get,getJSON,getScript,post,load,但后面几个都是调用的ajax这个方法(我想大家也猜到了),后面几个只是ajax的更简化的操作。<br />看其代码,知道有两个方法官方手册提供的参考还少一个参数,那就是get和post方法,这两个方法有第四个参数,第四个参数是dataType,可以传入返回数据的形式,相当于ajax的dataType。getJSON和getScript均调用的get,然后传入了第四个原创 2010-09-16 08:58:00 · 373 阅读 · 0 评论 -
关于jQuery强大的选择器
选择器是jQuery的核心之一,离开了它的选择器,那jQuery基本就成了废物,今天在研究jQuery的代码时,发现其选择器使用的是一个第三方的开源的代码,Sizzle,其官方网站为http://sizzlejs.com/,jQuery 1.4从第2625至3688均为Sizzle的代码,约占据了jQuery的17%原创 2010-09-16 08:59:00 · 352 阅读 · 0 评论 -
分析jQuery中val()方法的实现过程
<br /> <br /> jQuery中的val()方法,并不是简单的直接返回elem.value的属性值,它根据不同的DOM元素进行了不同的处理。<br /> 首先是<option>,如果有value则取value,没有,则取标签中的文字。其次是<select>,select分为单选和多选,根据标签设置的属性,来确定返回单个值还是多个值(数组)。再次是radio,如果没有设置value,并且当前状态为选中状态时,会返回一个"on"。最后,是其它情况,直接返回elem.value。<br /> <br原创 2010-09-16 08:49:00 · 2145 阅读 · 0 评论 -
分析jQuery的内部插入方法
首先,我们来看一下内部插入部分,内部插入包括append、appendTo、prepend、prependTo,对于append和prepend,jQuery内部实现比较简单,调用了JS的dom.appendChild和dom.insertBefore方法,但是在此之前调用了一个domManip的方法,domManip具体是做什么的呢?我们下次来研究。append: function() { return this.domManip(arguments, true, function( elem )原创 2010-09-16 09:18:00 · 1140 阅读 · 0 评论 -
分析jQuery工具的测试操作
isArray与isFunction方法的内部实现方式很简单,调用了toString.call(),然后判断其结果的字符串 isFunction: function( obj ) { return toString.call(obj) === "[object Function]"; }, isArray: function( obj ) { return toString.call(obj) === "[object Array]"; },原创 2010-11-01 08:49:00 · 295 阅读 · 0 评论