jQuery基礎(chǔ)樣式——選擇器

一、符合CSS規(guī)范的選擇器

問(wèn)題一:以下是一段HTML結(jié)構(gòu),通過(guò)jQuery的基本選擇器绎秒,我們有多少方法可以獲取尼摹?<div id="left" class="may"></div>

 $('.may') //類(lèi)選擇器—— document.getElementsByClassName('may');
 $('#left')//ID選擇器——document.getElementById('left');
 $("div")// 元素選擇器——document.getElementsByTagName('div');
 $("*") //全選擇器 ——document.getElementsByTagName(*);

層級(jí)選擇器
問(wèn)題二:通過(guò)選擇器方法见芹,判斷選擇器名稱(chēng)

$( "parent > child" )//子選擇器:選擇所有指定“parent”元素中指定的"child"的直接子元素。
$("prev + next")//后代選擇器:選擇給定的祖先元素的所有后代元素, 一個(gè)元素的后代可能是該元素的一個(gè)孩子窘问,孫子辆童,曾孫等
$("ancestor descendant")//相鄰兄弟選擇器:選擇所有緊接在“prev”元素后的“next”元素
$("prev ~ siblings")//一般兄弟選擇器:匹配“prev”元素之后的所有 兄弟元素。具有相同的父元素惠赫,并匹配過(guò)濾“siblings”選擇器

上面這幾種選擇器和css中的選擇器非常相似把鉴,除此之外,jQuery提供了一系列的篩選選擇器用來(lái)更快捷的找到所需的DOM元素儿咱。篩選選擇器很多都不是CSS的規(guī)范庭砍,而是jQuery自己為了開(kāi)發(fā)者的便利延展出來(lái)的選擇器

二、篩選選擇器

篩選選擇器的用法與CSS中的偽元素相似混埠,選擇器用冒號(hào)“:”開(kāi)頭

2.1基本篩選選擇器
基本篩選選擇器針對(duì)的都是元素DOM節(jié)點(diǎn)


B321CB2C-DF21-40AE-BDE2-23C1BD05811B.png

2.2內(nèi)容篩選選擇器
內(nèi)容篩選選擇器怠缸,體現(xiàn)在篩選它所包含的子元素或者文本內(nèi)容上

內(nèi)容篩選選擇器
  1. :contains與:has都有查找的意思,但是contains查找包含“指定文本”的元素钳宪,has查找包含“指定元素”的元素
  2. 如果:contains匹配的文本包含在元素的子元素中揭北,同樣認(rèn)為是符合條件的。
  3. :parent與:empty是相反的吏颖,兩者所涉及的子元素搔体,包括文本節(jié)點(diǎn)

2.3可見(jiàn)性篩選選擇器


可見(jiàn)性篩選選擇器

元素隱藏:

  1. CSS display的值是none。
  2. type="hidden"的表單元素半醉。
  3. 寬度和高度都顯式設(shè)置為0疚俱。
  4. 一個(gè)祖先元素是隱藏的,該元素是不會(huì)在頁(yè)面上顯示
  5. CSS visibility的值是hidden
  6. CSS opacity的指是0
    元素顯示:
  7. 如果元素中占據(jù)文檔中一定的空間,元素被認(rèn)為是可見(jiàn)的
    2.元素的visibility: hidden 或 opacity: 0被認(rèn)為是可見(jiàn)的

2.4屬性篩選選擇器
屬性選擇器讓你可以基于屬性來(lái)定位一個(gè)元素缩多。



2.5元素篩選選擇器


F130B894-2FC9-46AF-A3D8-4BAFF4ACC3A5.png

//查找class="first-div"下的第一個(gè)a元素
//針對(duì)所有父級(jí)下的第一個(gè)
$('.first-div a:first-child').css("color", "#CD00CD”);

//查找class="first-div"下的最后一個(gè)a元素
//針對(duì)所有父級(jí)下的最后一個(gè)
//如果只有一個(gè)元素的話呆奕,last也是第一個(gè)元素
$('.first-div a:last-child').css("color", "red”);
//查找class="first-div"下的只有一個(gè)子元素的a元素
$('.first-div a:only-child'.css("color", "blue”);
//查找class="last-div"下的第二個(gè)a元素
$('.last-div a:nth-child(2)').css("color", "#CD00CD”);
//查找class="last-div"下的倒數(shù)第二個(gè)a元素
$('.last-div a:nth-last-child(2)').css("color", "red”);
2.6子元素篩選選擇器

2.7表單元素選擇器
表單元素

    <form>
        <input type="text" value="text類(lèi)型"/>
        <input type="password" value="password"/>
        <input type="radio"/>
        <input type="checkbox"/>
        <input type="submit" />
        <input type="image" />
        <input type="reset" />
        <input type="button" value="Button" />
        <input type="file" />
    </form>

除了input篩選選擇器,幾乎每個(gè)表單類(lèi)別篩選器都對(duì)應(yīng)一個(gè)input元素的type值衬吆。大部分表單類(lèi)別篩選器可以使用屬性篩選器替換梁钾。比如 $(':password') == $('[type=password]’)


36056473-129D-403B-9117-F62C69FAE2B7.png

2.8表單對(duì)象屬性篩選選擇器
表單對(duì)象屬性篩選選擇器也是專(zhuān)門(mén)針對(duì)表單元素的選擇器,可以附加在其他選擇器的后面咆槽,主要功能是對(duì)所選擇的表單元素進(jìn)行篩選

D111BEF6-23A5-4C09-B22D-9E55FE3A9E93.png

注意事項(xiàng):

  1. 選擇器適用于復(fù)選框和單選框陈轿,對(duì)于下拉框元素, 使用 :selected 選擇器
  2. 在某些瀏覽器中,選擇器:checked可能會(huì)錯(cuò)誤選取到<option>元素,所以保險(xiǎn)起見(jiàn)換用選擇器input:checked麦射,確保只會(huì)選取<input>元素

2.9特殊選擇器this
this蛾娶,是JavaScript中的關(guān)鍵字,表示當(dāng)前的上下文對(duì)象是一個(gè)html對(duì)象潜秋,可以調(diào)用html對(duì)象所擁有的屬性和方法蛔琅。
$(this),代表的上下文對(duì)象是一個(gè)jquery的上下文對(duì)象,可以調(diào)用jQuery的方法和屬性值峻呛。

imooc是一個(gè)對(duì)象罗售,擁有name屬性與getName方法,在getName中this指向了所屬的對(duì)象imooc

var imooc = { 
      name:"慕課網(wǎng)", 
     getName:function(){ 
              //this,就是imooc對(duì)象 
              return this.name; 
     }
 }
imooc.getName(); //慕課網(wǎng)

在DOM中this就是指向了這個(gè)html元素對(duì)象,因?yàn)閠his就是DOM元素本身的一個(gè)引用:給頁(yè)面一個(gè)P元素綁定一個(gè)事件: 通過(guò)addEventListener綁定的事件回調(diào)中钩述,this指向的是當(dāng)前的dom對(duì)象寨躁,所以再次修改這樣對(duì)象的樣式,只需要通過(guò)this獲取到引用即可

p.addEventListener('click',function(){ 
    //this === p
     //以下兩者的修改都是等價(jià)的
     this.style.color = "red";
     p.style.color = "red";
 },false);

把$()方法傳入當(dāng)前的元素對(duì)象的引用this牙勘,把這個(gè)this加工成jQuery對(duì)象职恳,我們就可以用jQuery提供的快捷方法直接處理樣式了

$('p').click(function(){     
    //把p元素轉(zhuǎn)化成jQuery的對(duì)象     
    var $this= $(this)
    $this.css('color','red')
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市方面,隨后出現(xiàn)的幾起案子放钦,更是在濱河造成了極大的恐慌,老刑警劉巖恭金,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件操禀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡横腿,警方通過(guò)查閱死者的電腦和手機(jī)颓屑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)耿焊,“玉大人邢锯,你說(shuō)我怎么就攤上這事〔蟊穑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵尾抑,是天一觀的道長(zhǎng)歇父。 經(jīng)常有香客問(wèn)我,道長(zhǎng)再愈,這世上最難降的妖魔是什么榜苫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮翎冲,結(jié)果婚禮上垂睬,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好驹饺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布钳枕。 她就那樣靜靜地躺著,像睡著了一般赏壹。 火紅的嫁衣襯著肌膚如雪鱼炒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天蝌借,我揣著相機(jī)與錄音昔瞧,去河邊找鬼。 笑死菩佑,一個(gè)胖子當(dāng)著我的面吹牛自晰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稍坯,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼酬荞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了劣光?” 一聲冷哼從身側(cè)響起袜蚕,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绢涡,沒(méi)想到半個(gè)月后牲剃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡雄可,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年凿傅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片数苫。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡聪舒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出虐急,到底是詐尸還是另有隱情箱残,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布止吁,位于F島的核電站被辑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏敬惦。R本人自食惡果不足惜盼理,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俄删。 院中可真熱鬧宏怔,春花似錦奏路、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至妨猩,卻和暖如春潜叛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背壶硅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工威兜, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人庐椒。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓椒舵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親约谈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子笔宿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、樣式篇 第1章 初識(shí)jQuery (1)環(huán)境搭建 進(jìn)入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,386評(píng)論 0 44
  • 第一章 jQuery簡(jiǎn)介 1-1 jQuery簡(jiǎn)介 1.簡(jiǎn)介 2.優(yōu)勢(shì) 3.特性與工具方法 1-2 環(huán)境搭建 進(jìn)入...
    mo默22閱讀 1,587評(píng)論 0 11
  • 環(huán)境搭建 進(jìn)入官方網(wǎng)站獲取最新的版本 http://jquery.com/download/ 棱诱,這里需要注意 j...
    阿r阿r閱讀 799評(píng)論 0 7
  • jQuery基礎(chǔ)(一)——樣式篇 1-2環(huán)境搭建 1-3 jQuery HelloWorld體驗(yàn) $(docume...
    croyance0601閱讀 1,083評(píng)論 0 8
  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,342評(píng)論 0 8