jQuery 1.x 版本和 2.x 版本有什么區(qū)別?
目前jQuery有三個(gè)大版本:
- 1.x:兼容ie678,使用最為廣泛的,官方只做BUG維護(hù),功能不再新增。因此一般項(xiàng)目來說,使用1.x版本就可以了,最終版本:1.12.4 (2016年5月20日)
- 2.x:不兼容ie678,很少有人使用,官方只做BUG維護(hù),功能不再新增。如果不考慮兼容低版本的瀏覽器可以使用2.x,最終版本:2.2.4 (2016年5月20日)
- 3.x:不兼容ie678,只支持最新的瀏覽器。除非特殊要求,一般不會(huì)使用3.x版本的,很多老的jQuery插件不支持這個(gè)版本。目前該版本是官方主要更新維護(hù)的版本。最新版本:3.3.1(2018年5月20日)
jQuery 常見的選擇器
.eq
- 解釋:對(duì)于一個(gè)給定的結(jié)果集,可以通過eq方法獲取指定index的jquery對(duì)象
- 用法:
$('div').eq(3); // 獲取結(jié)果集中的第四個(gè)jQuery對(duì)象
.next / .prev
- 解釋:next取得匹配的元素集合中每一個(gè)元素緊鄰的后面同輩元素的元素集合。如果提供一個(gè)選擇器,那么只有緊跟著的兄弟元素滿足選擇器時(shí),才會(huì)返回此元素。prev正好相反,獲取元素之前的同輩元素
- 用法:
$('.test').next(); // 獲取匹配的元素集合之后緊鄰的同輩元素集合 - 用法:
$('.test').prev('li'); // 獲取匹配的元素集合之前緊鄰的同輩li元素集合
.nextAll / .prevAll
- 解釋:nextAll獲得每個(gè)匹配元素集合中每個(gè)元素所有后面的同輩元素,選擇性篩選的選擇器,prevAll與之相反,獲取元素前面的同輩元素
- 用法:
$('.test').nextAll(); // 獲取匹配的元素集合之后的所有同輩元素集合 - 用法:
$('.test').prevAll(); // 獲取匹配的元素集合之后的所有同輩元素集合
.siblings
- 解釋:獲得匹配元素集合中每個(gè)元素的兄弟元素,可以提供一個(gè)可選的選擇器
- 用法:
$('li.third-item').siblings()//獲取匹配元素集合中每個(gè)元素的兄弟元素
.parent / .parents
- 解釋:parent取得匹配元素集合中,每個(gè)元素的父元素,可以提供一個(gè)可選的選擇器
- 解釋:parents取得集合中每個(gè)匹配元素的祖先元素,可以提供一個(gè)可選的選擇器作為參數(shù)
- 用法:
$('.test').parent();// 獲取匹配的元素集合中每個(gè)元素的父元素 - 用法:
$('.test').parents(); // 獲取匹配的元素集合中每個(gè)元素的祖先元素
.children / .find
- 解釋:children取得匹配元素集合中每個(gè)元素的子元素,選擇器選擇性篩選
- 解釋:find查找符合選擇器的后代元素
- 用法:
$('ul.level-2').children()//取得匹配元素集合中每個(gè)元素的子元素 - 用法:
$('ul').find('li.current'); //在匹配元素集合中每個(gè)元素后代中查找li.current元素
.filter
- 解釋:.filter(selector),.filter(function(index))篩選當(dāng)前結(jié)果集中符合條件的對(duì)象,參數(shù)可以是一個(gè)選擇器或者一個(gè)函數(shù)
- 用法
$('li').filter(':even').css( "background-color", "red" ); //為匹配元素集合的偶數(shù)項(xiàng)設(shè)置背景顏色 - 用法:
$('li').filter(function(index) {return index % 3 == 2;})//從選中元素集合中選取index為2、5、8..項(xiàng)的li元素
.has
- 解釋:
.has(selector),.has(dom)篩選匹配元素集合中的那些有相匹配的選擇器或DOM元素的后代元素 - 用法
$('li').has('span')// 匹配后代中有span元素的li元素
.is
- 解釋:.is(selector), is(function(index)), is(dom/jqObj)判斷當(dāng)前匹配的元素集合中的元素,是否為一個(gè)選擇器,DOM元素,或者jQuery對(duì)象,如果這些元素至少一個(gè)匹配給定的參數(shù),那么返回true
- 用法:
if ( $(target).is("li") ) { $(target).css("background-color", "red");}//用于判斷選擇的元素是不是li元素,如果是的話,為其添加紅色背景顏色