简体   繁体   English

查找具有类名称的所有元素的更好方法

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

Is there a better/faster way to find all elements with a class name in browsers that don't support document.getElementsByClassName ? 在不支持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;

And no I don't want to use jQuery :) 不,我不想使用jQuery :)

我将检查John Resig在模拟document.getElementsByClassName方法上的比较

While IE8 doesn't support document.getElementsByClassName , it does support document.querySelectorAll , so that would be an option for IE8 anyway. 尽管IE8不支持document.getElementsByClassName ,但它确实支持document.querySelectorAll ,因此无论如何这将是IE8的一个选项。

You could do something like: 您可以执行以下操作:

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.

相关问题 有没有更好的方法通过类名获取特定元素来修改元素? - Is there a better way to get the specific element by their class name to modify the elements? 替换克隆元素上所有属性的更好方法? - Better way to replace all the attributes on cloned elements? 递归修剪 object 中所有元素的更好方法? - A better way to trim all elements in an object recursively? 从元素数组中查找哪个元素具有特定类的更好方法 - Better way to Find which element has a specific class from an array of elements jQuery基于样式类名称查找所有单选输入的方法 - jQuery way to find all radio inputs based on style class name 在页面上查找所有iframe的更好方法 - Better way to find all iframes on the page 有没有办法将类添加到所有元素 - Is there a way to add class to all elements 查找两个加起来等于给定数字的数组元素的更好方法 - Better way to find two array elements that add up to a given number 有没有更好的方法来扩展 div 的高度以包含其所有子元素? - Is there a better way to extend the height of a div to include all of its child elements? 通过在javascript函数中传递类名而不使用getElementsBy *或任何lib函数来查找页面中的所有元素 - Find all elements in page by passing class name in javascript function without using getElementsBy* or any lib function
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM