为什么选择jquery?
废话不多说,选择jquery的理由有千千万(强大的选择器,DOM封装,完善的API,ajax,兼容性强),用过的都说好,jquery的设计理念是“write less,do more.” ,这也是我选择它的原因之一。
(注:本文的所有实例都是基于1.2.6版本)
1.DOM对象
DOM(document object modle 文档对象模型),每一个DOM可以代表一棵树,我们可以通过document.getElementById() 或document.getElementByTagName()获得一个DOM对象。
2.jQuery对象
jquery对象是在DOM对象基础上进行封装产生的,为了避免混淆,我们可以把jquery对象定义为 var $jquery ,拿到jquery对象的方法有很多,常见的有:$("#id"),$('".class"),如果说DOM是一支铅笔,jquery就是一支水心笔,如果需要使用铅笔,你需要一把小刀,如果使用水心笔,你只需要把笔帽拿掉,显然后者更加方便,但是值得注意的是:DOM库的方法只适用于DOM对象,jquery库的方法只适用于jquery对象,比如:
var obj = Document.getElementById("id");//DOM 对象
if(obj.checked){
//do something
}
var $obj = $("#id"); //jqeury对象
if(obj.is(":checked")){
//do something
}
3.注释很重要
如果没有注释,没有人能一眼看出下面代码的意思,即使是作者自己,也许过个三五个月也很难一下弄明白,试想一下,这样的代码累计到三五百行然后叫你维护,是不是想死的心都有了,所以,为人为己,写注释很重要!
//在一个id =“table”的表格的tbody中,如果每行最后一列的checkbox没有被禁用,把这行的背景颜色设为红色
$("#table>tbody>tr:has(td:last:has(:checkbox:enabled))").css("background","red");
4.jQuery对象和DOM对象的相互转化
jQuery对象——>DOM对象
var $j = $(".jQuery"); //jQuery对象
var dom = $j[0]; //DOM对象
// var dom = $j.get(0);
DOM对象——>jQuery对象
var dom =document.getElementById("dom");//DOM对象
var $j = $(dom); //jQuery对象
以后遇到jQuery没有封装自己想要的方法,可以尝试转化为DOM对象再解决,这样又多了一条解决问题的思路。