簡體   English   中英

查找具有類名稱的所有元素的更好方法

[英]Better way to find all elements with a class name

在不支持document.getElementsByClassName瀏覽器中,是否有更好/更快的方法來查找具有類名的所有元素?

var elements = document.getElementsByTagName('*'),
    results = [];

for (var i=0; i < elements.length; i++) {
  (elements[i].className === selector) ? results.push(elements[i]) : null;
}
return results;

不,我不想使用jQuery :)

我將檢查John Resig在模擬document.getElementsByClassName方法上的比較

盡管IE8不支持document.getElementsByClassName ,但它確實支持document.querySelectorAll ,因此無論如何這將是IE8的一個選項。

您可以執行以下操作:

function byClass( sel ) {
    var results;
    if( document.querySelectorAll ) {
        results = document.querySelectorAll( '.' + sel );
    } else if( document.getElementsByClassName ) {
        results = document.getElementsByClassName( sel );
    } else {
        var elements = document.getElementsByTagName('*'),
        results = [];
        // and so on
    }
    return results;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM