jQuery選擇器

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 常見的選擇器

  1. .eq
  • 解釋:對(duì)于一個(gè)給定的結(jié)果集,可以通過eq方法獲取指定index的jquery對(duì)象
  • 用法:$('div').eq(3); // 獲取結(jié)果集中的第四個(gè)jQuery對(duì)象
  1. .next / .prev
  • 解釋:next取得匹配的元素集合中每一個(gè)元素緊鄰的后面同輩元素的元素集合。如果提供一個(gè)選擇器,那么只有緊跟著的兄弟元素滿足選擇器時(shí),才會(huì)返回此元素。prev正好相反,獲取元素之前的同輩元素
  • 用法:$('.test').next(); // 獲取匹配的元素集合之后緊鄰的同輩元素集合
  • 用法:$('.test').prev('li'); // 獲取匹配的元素集合之前緊鄰的同輩li元素集合
  1. .nextAll / .prevAll
  • 解釋:nextAll獲得每個(gè)匹配元素集合中每個(gè)元素所有后面的同輩元素,選擇性篩選的選擇器,prevAll與之相反,獲取元素前面的同輩元素
  • 用法:$('.test').nextAll(); // 獲取匹配的元素集合之后的所有同輩元素集合
  • 用法:$('.test').prevAll(); // 獲取匹配的元素集合之后的所有同輩元素集合
  1. .siblings
  • 解釋:獲得匹配元素集合中每個(gè)元素的兄弟元素,可以提供一個(gè)可選的選擇器
  • 用法: $('li.third-item').siblings() //獲取匹配元素集合中每個(gè)元素的兄弟元素
  1. .parent / .parents
  • 解釋:parent取得匹配元素集合中,每個(gè)元素的父元素,可以提供一個(gè)可選的選擇器
  • 解釋:parents取得集合中每個(gè)匹配元素的祖先元素,可以提供一個(gè)可選的選擇器作為參數(shù)
  • 用法:$('.test').parent(); // 獲取匹配的元素集合中每個(gè)元素的父元素
  • 用法:$('.test').parents(); // 獲取匹配的元素集合中每個(gè)元素的祖先元素
  1. .children / .find
  • 解釋:children取得匹配元素集合中每個(gè)元素的子元素,選擇器選擇性篩選
  • 解釋:find查找符合選擇器的后代元素
  • 用法:$('ul.level-2').children() //取得匹配元素集合中每個(gè)元素的子元素
  • 用法:$('ul').find('li.current'); //在匹配元素集合中每個(gè)元素后代中查找li.current元素
  1. .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元素
  1. .has
  • 解釋:.has(selector),.has(dom)篩選匹配元素集合中的那些有相匹配的選擇器或DOM元素的后代元素
  • 用法$('li').has('span') // 匹配后代中有span元素的li元素
  1. .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元素,如果是的話,為其添加紅色背景顏色

使用jQuery實(shí)現(xiàn)Tab切換效果

代碼地址
預(yù)覽地址

使用原生js實(shí)現(xiàn)Tab切換效果

代碼地址
預(yù)覽地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容