按HTML查找:
優點:范圍可大可小,可設置條件;
包括五種方式:
1.按id查找;
2.按標簽名查找:var elems = parent.getElementsByTagName('');
3.按name屬性查找:要回傳給服務器的元素需要name屬性,專門找表單中有name屬性的表單元素;---了解即可;
4.按class屬性查找;
var elems = parent.getElementsByClassName('class');
強調:1.可在任意父元素上調用;2,可返回多個元素的組成的集合;3,不要求全部匹配,只要包含即可;
缺點:每次只能按一個條件查找,如果條件復雜的話,就無法一句話獲得想要的元素;
5,這是重點強調的選擇器,按選擇器查找:用的比較多,比較犀利。
5.1 只找一個元素:var elem = parent.querySelector('selector");
5.2 找多個元素:var elems = parent.querySelectorAll('selector');
那么如何選擇這些查找工具呢?
從使用的難易程度:
1.當條件復雜時:
按選擇器查找--簡單;按HMTL查找--繁瑣;
2.返回值:
getElementsByTagName()返回多個元素的動態集合;
什么是動態集合:不實際存儲對象的屬性值,每次訪問,都要重新查找DOM樹;
querySelectorAll()返回多個元素的非動態集合;非動態集合---實際存儲對象的所有值,即使返回反復訪問集合,也不會導致反復查找DOM樹。
3.單次查找效率:
按HTML查找--效率高;按選擇器找--效率低;
在這里,我們重點介紹下querySelector()和querySlectorAll(),這兩個方法支持CSS查詢。可以通過document和element類型的實例來調用他們,目前完全支持他們的瀏覽器有:
而querySelectorAll: