querySelector()、querySelectorAll()、localeCompare()方法介紹

一、getElementsByClassName()方法不足之處
在之前的學習中,我們瞭解到,可以根據元素的 class 屬性值查詢一組元素節點對象,即:getElementsByClassName(),但是這個方法不支持 IE8 及以下的瀏覽器。

在我們的實際開發中,會特別的受限,爲了兼容 IE8 及以下的瀏覽器,我們可以採用一種新的方法querySelector()

二、querySelector()、querySelectorAll()方法介紹
【1】document.querySelector()
需要一個選擇器的字符串作爲參數,可以根據一個 CSS 選擇器來查詢一個元素節點對象
雖然 IE8 中沒有 getElementsByClassName()但是可以使用 document.querySelector()代替
使用該方法總會返回唯一的一個元素,如果滿足條件的元素有多個,那麼它只會返回第一個。
【2】document.querySelectorAll()
該方法和 document.querySelector()用法類似,不同的是它會將符合條件的元素封裝到一個數組中返回
即使符合條件的元素只有一個,它也會返回數組

document.querySelectorAll('.module').forEach(item=> {
  item.remove();
});//數組
var divs = document.querySelectorAll('div'), i;
for (i = 0; i < divs.length; ++i) {
  divs[i].style.color = "green";
}//list

二、localeCompare()方法介紹
定義:用本地特定的順序來比較兩個字符串。
  語法:stringObject.localeCompare(target)
  參數:target——要以本地特定的順序與 stringObject 進行比較的字符串。
  返回值:說明比較結果的數字。
  (1)如果 stringObject 小於 target,則 localeCompare() 返回小於 0 的數。
  (2)如果 stringObject 大於 target,則該方法返回大於 0 的數。
  (3)如果兩個字符串相等,或根據本地排序規則沒有區別,該方法返回 0。

說明:把 < 和 > 運算符應用到字符串時,它們只用字符的 Unicode 編碼比較字符串,而不考慮當地的排序規則。以這種方法生成的順序不一定是正確的。localeCompare() 方法提供的比較字符串的方法,考慮了默認的本地排序規則。ECMAscript 標準並沒有規定如何進行本地特定的比較操作,它只規定該函數採用底層操作系統提供的排序規則。

if(a.localeCompare(b)>=0&&a.localeCompare©<0){}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章