深入分析JQuery和JavaScript的异同

时间:2022-09-15 12:02:18

ps:LZ觉得这个标题有点大了,超出了能力范围,不喜勿碰。目前只记录LZ能力范围内的,日后持续补充。

一、JQuery对象和DOM对象的相互转化(《锋利的JQuery》)

       JQuery转化为DOM:

          1、var jq = $(‘#selector');   var dom = jq[index];

          2、var jq1 = $(‘#selector1');  var dom1 = jq1.get(index) 或者 var dom1 = jq1.get()[index];

      DOM转化为JQuery:

          假设cr是一个DOM对象,转为JQuery,jqcr = $(‘cr');

二、JQuery的$(document).ready()和JavaScript的window.onload()的区别(《锋利的JQuery》)

       1、执行时机

            window.onload必须等待网页中所有资源(包括图片)加载完成后才能执行,而$(document).ready()在所有DOM结构绘制完毕后就执行,但是可能与DOM相关联的资源还没有加载完毕。

       2、编写个数

            一个文档中,window.onload只有是一个,而$(document).ready()可以有多个

       3、简化方法

           window.onload没有简写形式,$(document).ready()可以简写为$(function(){}).

 

三、JQuery和JavaScript中访问属性名称的区别(《JQuery实战》)

       JQuery规范名称                             DOM规范
       cellspacing                                    cellSpacing
       class                                                className
       colspan                                          colSpan
       cssFloat                                         IE中是styleFloat,其他浏览器是cssFloat
       float                                               IE中是styleFloat,其他浏览器是cssFloat
       for                                                  htmlFor
       frameborder                                frameBorder
       maxLength                                  maxLength
       readonly                                      readOnly
       rowspan                                       rowSpan
       stylefloat                                      IE中是styleFloat,其他浏览器是cssFloat
       tabindex                                       tabIndex
       usemap                                         useMap

四、冲突

        DOM理论上不会有冲突产生,JQuery防止冲突产生的两种解决方法:(《锋利的JQuery》)

        1、JQuery库在其他库之后导入

              调用JQuery。noConflict()方法将$控制权给其他库使用,或者自定义快捷方式,$j = JQuery.noConflict();

        2、JQuery库在其他库之前导入

               直接使用JQuery代替$工作,同时$可以作为其他库的快捷方式。