锋利的jQuery-1


1. window.onload与$(document).ready()的对比

执行时机:前者必须等网页中的所有内容都加载完毕后(包括图片)才执行;后者网页中的所有dom结构绘制完毕后就执行,可能dom元素关联的东西还没有加载完。

编写个数:前者不能同时多个,如果多个,最后一个生效;后者可以有多个,多个都生效。

简化写法:前者无,后者$(  function(){ }   );


2. jQuery对象和DOM对象互转

  jQuery对象是一个数组对象

  jQuery转dom    jquery对象后边加上  [index] 或者 get(index)

           var cr = $("#cr").[0];         var cr = $("#cr").get(0);

 dom转jQuery   $(dom对象)

          var $cr = $(document.getElementById("cr"));

  $()是jQuery对象的制造工厂

要注意的是两种对象使用的方法是不同的,不能相互使用对方的方法。所以需要转换后才能使用。


3. js和jquery的方法区别,二者方法不能通用:

js:
document.getElementsByTagName();
 var obj = document.getElementById("id");
var objHtml = obj.innerHTML;
obj.checked;
jQuery:
$("#id").html();
$("#id").attr("checked");   $("#id").is(":checked");


4.解决jQuery和其他js库(如Prototype)的冲突


如果jQuery库在其他库之后

1. 默认情况jQuery用$作为自身的快捷方式,可以在任何时候调用jQuery.noConflict()函数将变量$的控制权交给其他js库

然后使用jQuery的话,就用jQuery( function(){   })

2. 自定义备用名称

var $a = jQuery.noConflict();     $j(function(){    })

3. 函数内部继续使用$,不会与外部的其他函数库使用$相互冲突

第一种:

jQuery.noConflict();

jQuery( function($){       $("p").click.....   })

第二种:

jQuery.noConflict();

( function($){       $("p").click.....   })(jQuery);


如果jQuery库在其他库之前,那么直接可以jQuery来使用jQuery,其他库用$(); 
无需用jQuery.noConflict();来解决冲突。


5. jQuery选择器操作,即使元素不存在也不报错,js则不行

js:

if(document.getElementById("tt")){
....先判断存在才能操作,不然报错
}


jQuery无需检查是否存在,也不会报错。

如果想要判断是否存在,操作是

if($("#tt")[0]){
...转化成dom对象
}
或者

if($("#tt").length>0){
...获取元素长度
}

需要注意的是,$("#tt")获取的永远是对象,即使网页上没有此元素,所以要判断是否存在,需要获取到元素的长度length判断,
或者是转化成dom对象判断

js方法 

var arrays = new Array();  定义数组
arrays.push(items[i].value);  数组中添加元素
if(obj.checked)  是否被选中
getElementById()
getElementsByName();  根据名字返回一个数组,可以用[0],[1]等获取数组中的一个,通过for循环, 
items.length   获取数组长度
getElementsByTagName()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值