《锋利的Jquery第二版》读书笔记 第一章
按照书本介绍顺序整理jquery库相关的语法、要点。
window.onload与$(document).ready()功能类似,前者需要所有资源加载完毕,且不能同时编写多个;后者加载完DOM结构即执行,且可编写多个按序执行。
链式结构(注意代码隔行及备注)
$(".level > a").click(function(){ $(this).addClass("current")
.next().show()
.parent().sibling().children("a").removeClass("current")
.next().hide(); return false; })
jquery对象是类似数组的对象,可通过[index]和get(index)转换为DOM对象,如
var $a = $("#b") var c = $a[0] var $a = $("#b") var c = $a.get(0)
DOM对象转换为jquery对象只需把DOM对象用$()包装起来即可,如
var sdf = document.getElementById("sdf"); var $cr =$(sdf)
解决不同库之间的冲突,分为以下两种情况:
1.jquery库在其他库之后导入
调用jQuery.noConflict()函数将$的控制权移交给其他JavaScript库,jquery库则不使用快捷键或重新自定义快捷键,如
jQuery("p").click(function(){ .........//一些代码 }) var $j = jQuery.noConflict(); //自定义一个快捷方式 $j("p").click(function(){ .........//一些代码 })
此外,只在jquery内部继续使用$快捷键或把jQuery作为参数传递给函数也可避免冲突。
2.jQuery库在其他库之前导入
jquery不必调用jQuery.noConflict()移交$控制权,可直接使用jQuery(),也就是说后导入的库总是能覆盖前一个库取得$控制权