在網(wǎng)頁(yè)實(shí)現(xiàn)中,如何合理的選用“三種基本選擇器”呢?
成都創(chuàng)新互聯(lián)是專(zhuān)業(yè)的召陵網(wǎng)站建設(shè)公司,召陵接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行召陵網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
1、在此強(qiáng)烈推薦新手使用“類(lèi)名選擇器”。之所以選擇“類(lèi)名選擇器”,主要原因在于:類(lèi)名選擇器可以同時(shí)選擇多個(gè)元素,類(lèi)似的元素可以使用同一個(gè)類(lèi)名,比ID選擇器操作起來(lái)更靈活;由于類(lèi)名選擇器必須定義,只有定義類(lèi)名的標(biāo)簽才能夠應(yīng)用樣式,并不會(huì)對(duì)網(wǎng)頁(yè)中其他元素造成不必要的影響。
2、標(biāo)簽名選擇器,由于其選擇范圍過(guò)廣,會(huì)導(dǎo)致網(wǎng)頁(yè)當(dāng)中所有的同種類(lèi)型標(biāo)簽都會(huì)被選中,此時(shí)很容易造成樣式影響。不推薦使用。
3、ID選擇器,優(yōu)先級(jí)比較高,并且只能夠選擇一個(gè),適合其使用的“環(huán)境”并不多。另外,ID選擇器通常是給原生JavaScript預(yù)留,一旦看到ID選擇器,就能夠想“在這里應(yīng)該是有JS功能存在的”。 不推薦使用。
JavaScript選擇器介紹:
1、document.querySelector()
querySelector() 方法僅僅返回匹配指定選擇器的第一個(gè)元素。如果你需要返回所有的元素,請(qǐng)使用 querySelectorAll() 方法替代
(1)獲取文檔中 id=“demo” 的元素:
document.querySelector("#demo");
(2)獲取文檔中第一個(gè)p的元素
document.querySelector(“p”);
(3)獲取文檔中 class=“example” 的第一個(gè)元素
document.querySelector(".example");
(4)獲取文檔中 class=“example” 的第一個(gè) p 元素:
document.querySelector(“p.example”);
(5)獲取文檔中有 “target” 屬性的第一個(gè) a 元素:
document.querySelector(“a[target]”);
(6)多選擇器時(shí)
document.querySelectorAll(’.ynqc’)
2、document.getElementById
這個(gè)方法將返回一個(gè)與之對(duì)應(yīng)id屬性的節(jié)點(diǎn)對(duì)象,它是document對(duì)象特有的函數(shù),只能通過(guò)其來(lái)調(diào)用該方法,使用方法下:document.getElementById(‘idName’);
3、getElementsByTagName
這個(gè)方法返回一個(gè)對(duì)象數(shù)組(準(zhǔn)確的說(shuō)是HTMLCollection集合),返回元素的順序是它們?cè)谖臋n中的順序,傳遞給 getElementsByTagName() 方法的字符串可以不區(qū)分大小寫(xiě),使用方法如下:document.getElementsByTagName(tagName);
4、getElementsByClassName
這個(gè)方法來(lái)獲取指定class名的元素,該方法返回文檔中所有指定類(lèi)名的元素集合,作為 NodeList 對(duì)象。NodeList 對(duì)象代表一個(gè)有順序的節(jié)點(diǎn)列表。NodeList 對(duì)象 我們可通過(guò)節(jié)點(diǎn)列表中的節(jié)點(diǎn)索引號(hào)來(lái)訪問(wèn)列表中的節(jié)點(diǎn)(索引號(hào)由0開(kāi)始), 所以有時(shí)使用時(shí)要指定下標(biāo),使用方法如下:document.getElementsByClassName(‘className’);
5、選擇器的優(yōu)缺點(diǎn)
(1)querySelector是按css規(guī)范來(lái)實(shí)現(xiàn)的,所以它傳入的字符串中第一個(gè)字符不能是數(shù)字.
(2)querySelector() 方法返回匹配指定 CSS 選擇器元素的第一個(gè)子元素 。 該方法只返回匹配指定選擇器的第一個(gè)元素。如果要返回所有匹配元素,需要使用 querySelectorAll() 方法替代.
(3)query選擇符選出來(lái)的元素及元素?cái)?shù)組是靜態(tài)的,而getElement這種方法選出的元素是動(dòng)態(tài)的。靜態(tài)的就是說(shuō)選出的所有元素的數(shù)組,不會(huì)隨著文檔操作而改變.
1、靈活 jquery 選擇器提供多個(gè)模式 id class 屬性 等等選擇器
2、方面 比較js你會(huì)發(fā)現(xiàn)在jquery當(dāng)中往往幾個(gè)字符就能解決 而js需要寫(xiě)上1行甚至是多行才能實(shí)現(xiàn)
3、jquery提供的多選擇器模式,類(lèi)似就跟寫(xiě)sql一樣帶上N多條件可以檢索出自己想要的元素,這種開(kāi)發(fā)效率比js高出很多
5、代碼簡(jiǎn)潔度提高了
6、jquery比JavaScript讀起來(lái)順口多了
個(gè)人感受 手打 往采納