jQuery知识点

1、find这个查找不知道大家是不是习惯用的比较少,一定要注意$("table tr:even")和$("table").find("tr:even")的区别,在查找用find它们是基于父级划分的组,这么说不知道大家看会不会模糊,大家可以测试是在一个页面中2个table进行隔行换色用前者和后则的区别,前者是将所有的tr作为一个组经常划分,而后则着基于每个table去划分。

2、class查找,在说它之前,大家应该知道在jquery中第二快的选择器就是tag选择器(及标签查找),因为它是基于js中的getElementByTagName,因此我们在查找class的时候很有必要在class前加上tag标签名(如$(div.head)),当然如果这个class上层有ID那用ID和class组合就更加合适了(如 $("#wrapper").find(".head"));
注:用tag去修饰查找class会加快查找的速度,但是如果用它去修饰ID那结果就大大的相反了,因为在组合ID的情况下,它会先去遍历查找tag然后在去匹配ID这样就是画蛇添足了(同理用ID修饰查找ID一样)。

3、组合查找,它是从选择器右边到左边逐一匹配,来选择范围的,因此在组合查找过程中一定要避免查找范围的长度(如 $("div.head ul li.cur")和$(".head li.cur"))这两者明显后期效率会高,这个原理就和css选择器一样,css选择器和它不同的是从左到右的查找(当然css选择器组合过长带来的蝴蝶效应更加严重因为它还涉及到优先级),同时在组合中要注意查找元素的变量存储,这个和js一样把已经查找的元素放到变量中继续储存注意可以减少多次查找。

你可能感兴趣的:(jQuery知识点)