“小白,上午我們學(xué)會(huì)引入了jQuery,然后用jQuery改變了一個(gè)div的html內(nèi)容拱层,現(xiàn)在我們說(shuō)一下jQuery常用的選擇器,如果你用好jQuery選擇器宴咧,你會(huì)發(fā)現(xiàn)改變一個(gè)或一組容器的html內(nèi)容是如此的簡(jiǎn)單根灯。”
“在jQuery里面最常用到的是id選擇器,今天上午我們剛用過(guò)那個(gè)方法烙肺,$('#main')就是找到id為main的容器并將它轉(zhuǎn)換為jquery對(duì)象纳猪,id選擇器需要在id名前面加上#。之前我們也說(shuō)過(guò)這里的選擇器跟css選擇器很像桃笙,所以我們還可以通過(guò)別的方式進(jìn)行選擇氏堤。比如有這樣一個(gè)html頁(yè)面”
“我現(xiàn)在希望讓所有class為redline的內(nèi)容變?yōu)椋何业膬?nèi)容改變了〔鳎可以這樣來(lái)寫$('.redline').html('我的內(nèi)容改變了')鼠锈,可以看到這里通過(guò)類名進(jìn)行選擇的時(shí)候會(huì)在類名前面加個(gè)點(diǎn),這跟我們寫css代碼的時(shí)候類的寫法是一樣的星著〗潘睿”
“如果我們希望所有的p標(biāo)簽的內(nèi)容變成:‘我是p標(biāo)簽’,可以這樣來(lái)寫$('p').html('我是p標(biāo)簽')强饮,怎么樣跟css中對(duì)p標(biāo)簽設(shè)定樣式的時(shí)候也是一樣的吧!”
“頁(yè)面中id為main的div容器中包含了四個(gè)子div容器和一個(gè)p容器为黎,假如我希望讓main中的所有div內(nèi)容發(fā)生改變可以通過(guò)$('#main div').html('我是main里面的div哦邮丰!')進(jìn)行選擇更改。注意在#main和div中間會(huì)有一個(gè)空格铭乾,空格就代表了父子關(guān)系剪廉。”
“還有一種情況炕檩,那就是所有class為redline的div容器內(nèi)容發(fā)生改變斗蒋!這跟剛才的父子關(guān)系又不一樣,我們可以通過(guò)$('div.redline').html('我是div笛质,而且我的class名字是redline哦泉沾!'),這里的div和.redline中間沒(méi)有空格妇押□尉浚”
“怎么樣jquery選擇器很神奇吧!除了我剛說(shuō)的那幾個(gè)選擇的方式敲霍,jquery還有一種屬性選擇器俊马,比如我們要找href屬性值為#好的元素,可以這樣來(lái)寫:$("[href='#']") 肩杈。屬性選擇器你有時(shí)間自己做點(diǎn)練習(xí)柴我,我就不多說(shuō)了!”
“最后給你說(shuō)一點(diǎn)扩然,我們通過(guò)選擇器選擇到的對(duì)象很多情況下是一個(gè)數(shù)組艘儒,如果你不懂什么是數(shù)組可以去自學(xué)一下js的數(shù)組類型,比如$('.redline')就包含了三個(gè)容器⊥冢”
“在jQuery里面獲取某個(gè)容器的html內(nèi)容嘉抓,跟修改html內(nèi)容用的是同一個(gè)方法,只不過(guò)不用傳參數(shù)晕窑。比如我們要獲取main的html內(nèi)容抑片,可以用下面的代碼實(shí)現(xiàn):”
“如果獲取類名為redline的html內(nèi)容怎么拿呢?”
小白激動(dòng)的答道:“$('.redline').html()唄杨赤!”
老朱說(shuō):“小白你把代碼寫到頁(yè)面里面試試敞斋,看看控制臺(tái)輸出!”
小白失望的說(shuō):“怎么只輸出了第一行疾牲?”
“小白植捎,我剛跟你說(shuō)了,如果同時(shí)選擇的是多個(gè)容器阳柔,他們就是一個(gè)對(duì)象數(shù)組焰枢,你剛輸出的只是第一個(gè)容器的html內(nèi)容。你再想想辦法舌剂!”
“朱哥济锄,我覺得通過(guò)選擇器獲取到的那個(gè)對(duì)象數(shù)組后面通過(guò)索引就可以取到,這樣就可以了吧霍转!”
小白輸出以后發(fā)現(xiàn)居然報(bào)錯(cuò)了荐绝!
“小白,你的$('.redline')是jquery對(duì)象可以使用html方法避消,但是$('.redline')[0]不是低滩,你需要再次使用$傳入$('.redline')[0]才能轉(zhuǎn)換成jquery對(duì)象。你試試看”
“成功了岩喷!輸出第二個(gè)和第三個(gè)類名為redline的html內(nèi)容我也知道怎么寫了恕沫!”
“小白,假如你不知道總共有多少個(gè)id為redline的容器纱意,怎么辦昏兆?既然$('.redline')是一個(gè)數(shù)組,我們是不是可以通過(guò)length拿到數(shù)組的長(zhǎng)度妇穴?那通過(guò)for循環(huán)是不是可以進(jìn)行輸出爬虱?”
“我試著改一改”
“好了,成功了腾它!感覺今天很有心得芭荏荨!for循環(huán)我只是之前看js基礎(chǔ)知識(shí)的時(shí)候了解了一下瞒滴,我再鞏固鞏固曲梗!”
“好的赞警,明天見!”