當我們想要選擇dom中的元素時,第乙個想到的就是document.getelementbyid()和document.getelementsbytagname(),還有針對表單的document.getelementsbyname();
在h5中我們又有了類選擇器:getelementsbyclassname(),但這個方法不相容ie8及以下,我麼在使用時還是需要寫乙個相容的函式,因為現在還是很多ie8的,至於為什麼不考慮ie8以下,呵呵,我給你乙個眼神,自己體會。
但在前幾天我突然看到書上的兩個選擇器queryselect()和queryselectall(),發現他們竟然相容ie8,這個真的是太棒了。
他們的用法和getelement用法是一樣的,但是選擇符適合jquery一樣的!:
複製**
複製**
我們使用queryselect()
console.log(document.queryselector('#a'));
console.log(document.queryselector('.a'));
console.log(document.queryselector('.aa'));
我們發現輸出的是
,,
這說明queryselector()選擇的只是所有中的第乙個元素,而且返回的是元素物件,不是陣列。
使用queryselectall()
console.log(document.queryselectorall('#a'));
console.log(document.queryselectorall('.a'));
console.log(document.queryselectorall('.aa'));
這時輸出的是[li#a],[li.a],[li.aa,li.b.aa,li.aa];
這說明queryselector()選擇的是所有符合條件的元素,並返回陣列。
因為這兩個方法相容ie8所以可以大膽的使用
js中的原生元素選擇器
js中的原生元素選擇器 當我們想要選擇dom中的元素時,第乙個想到的就是document.getelementbyid 和document.getelementsbytagname 還有針對表單的document.getelementsbyname 在h5中我們又有了類選擇器 getelements...
js原生後代選擇器 CSS 後代選擇器
具體應用 後代選擇器的功能極其強大。有了它,可以使 html 中不可能實現的任務成為可能。假設有乙個文件,其中有乙個邊欄,還有乙個主區。邊欄的背景為藍色,主區的背景為白色,這兩個區都包含鏈結列表。不能把所有鏈結都設定為藍色,因為這樣一來邊欄中的藍色鏈結都無法看到。解決方法是使用後代選擇器。在這種情況...
原生JS寫的emoji表情選擇器
筆者寫這玩意找過n個表情選擇器,都用到jquery,移動端實在不合適,因為jquery用min都得90k。而且不需要表情轉文字或文字轉表情這種功能。本文用到的是div輸入框,且選擇表情後是直接往文字內容插入一段html emoji為svg格式 效果表現是即見即得。上 html div name no...