jQuery筆記3 代碼風(fēng)格及常用選擇器記錄

原文地址:http://ruofeiblog.com/2016/10/10/jQuery-note-3-selector/

jQ的代碼風(fēng)格

//創(chuàng)建一個匿名函數(shù)(等待頁面DOM結(jié)構(gòu)加載完畢后執(zhí)行函數(shù)內(nèi)代碼)
$(function(){
    
});

//執(zhí)行一個jQ css方法,返回一個jQ對象
$('#box').css('color','red');

//連綴寫法,返回依然是一個jQ對象
$('#box').css('color','red').css('width','200px');

//返回jQ對象
$('#box');

//返回DOM對象
$('#box').get(0);

//多個庫引用$符號沖突的時候,使用$$符號代替jQuery和$
var $$ = jQuery;

//剔除$的所有權(quán),只能使用jQuery
jQuery.noConFlict();

簡單選擇器

//選擇元素標(biāo)簽名,返回多個適配的結(jié)果
$('div');
$('div p a');

//選擇ID(由于一個頁面只能出現(xiàn)一個ID,同名和重復(fù)的是不規(guī)范的,所以返回的只是一個結(jié)果;如果頁面中有多個同名的,只能返回第一個結(jié)果),記住,一個頁面中不能出現(xiàn)多個同名的id,因為這個不規(guī)范。
$('#box');
$('div #box');

//選擇Class
$('.box');
$('div #title .box');

//集合選擇器:返回同時含有box和pox類的所有結(jié)果
$('.box.pox');

//群組選擇器:返回含有box或含有pox類的所有結(jié)果
$('.box,.pox');

//構(gòu)造選擇器:選擇器越復(fù)雜,解析時間越長
$('div#box p ul li a#link');

//上面的構(gòu)造選擇器可以直接選擇末尾的id #link,因為id在html中具有唯一性
$('#link');


//通配選擇器器:選擇所有的DOM節(jié)點(包含html,head,body等標(biāo)簽)
//在全局使用通配選擇器,會照成極大的浪費,不建議使用
$('*');

//通配選擇器的最佳用法:選擇局部標(biāo)簽內(nèi)的所有DOM節(jié)點
$("ul li *");

高級選擇器(層次選擇器)


//后代選擇器:find()方法,選擇#box的子節(jié)點中的p節(jié)點,等價于$('#box p');
$('#box').find(p);

//子選擇器:選擇#box的子節(jié)點,只是第一層子節(jié)點,第二層(孫子輩的選不到)。
$('#box > p');

//同級節(jié)點的下一個節(jié)點選擇器:選擇指定節(jié)點的下一個節(jié)點,返回結(jié)果只有一個。
$('#box + p');

//jQ選擇下一個同級節(jié)點的方法:
$('#box').next('p');

//選擇指定節(jié)點同級后面的節(jié)點:nextAll方法,找到#box同級下N個P節(jié)點
$('#box ~ p');
$('#box').nextAll('p');

//選擇指定節(jié)點的上N個節(jié)點:prevAll();
$('#box').nextAll('p');

.find() .next() .nextAll()
以上三種方法如果不傳參數(shù),就是括號內(nèi)為空,就等于.next(),變成了通配符,可能造成性能浪費,不建議使用。使用這些方法的速度快于層次選擇器*

//nextUntil()方法:選擇下N個指定的節(jié)點,一直遇到到不是指定的節(jié)點時停止。

$('#box').nextUntil('p');

屬性選擇器

//選擇有title的a標(biāo)簽,返回多個
$('a[title]');

//選擇title為nub1的a標(biāo)簽
$('a[title=nub1]');

//選擇title為nub開頭的a標(biāo)簽
$('a[title^=nub]');

//選擇title為nub結(jié)尾的a標(biāo)簽
$('a[title$=nub]');

//選擇title為nub或者以nub開頭,后面-xxx的a標(biāo)簽,如:nub-1,nub-2,nub-3,nub-4
$('a[title|=nub]');

//選擇有title的且不等于nub的a標(biāo)簽
$('a[title!=nub]');

//選擇有title的且等于nub的,以空格為列表的a標(biāo)簽,如:title="nub aaa bbb"
$('a[title~=nub]');

//選擇有title的包含nub字符的a標(biāo)簽,如:title="qwqwqwwnubadadassgdg"
$('a[title*=nub]');

//選擇有title的包含nub,且含有bbb屬性的a標(biāo)簽,如:<a bbb="123" title="nub">123</a>。這個多屬性選擇器適用于上面的所有方法。
$('a[bbb][title=nub]');
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 首先附上jQuery官網(wǎng) http://jquery.com/ 2.0版本開始放棄了對IE7/8及其之前版本的...
    風(fēng)之帆閱讀 780評論 4 2
  • 通過jQuery,您可以選?。ú樵?,query)HTML元素,并對它們執(zhí)行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 719評論 0 3
  • 請記得在進行JQuery類庫的運用時,加入JQuery類庫,并且要保證先寫文檔就緒函數(shù) $(document).r...
    Sunshinemm閱讀 3,029評論 1 40
  • Chapter 2 : Selecting the elements upon which to act 1. $...
    Azur_wxj閱讀 479評論 0 1
  • 掌心的蓮花閱讀 388評論 0 1

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