Подтвердить что ты не робот

Как получить все элементы по имени класса?

Как получить все элементы по имени класса на чистом javascript? Аналоговый $('. Class') в JQuery?

4b9b3361

Ответ 1

document.getElementsByClassName(klass)

Имейте в виду, что некоторые движки (особенно старые браузеры) не имеют его. Вы можете рассмотреть возможность использования прокладки, если это так. Это будет медленно, и перебирать весь документ, но это будет работать.

РЕДАКТИРОВАТЬ несколько лет спустя: вы можете получить тот же результат, используя document.querySelectorAll('.klass'), что не так уж и много, но последний допускает запросы к любому селектору CSS, что делает его гораздо более гибким в случае " получить все элементы по имени класса "- это просто шаг в том, что вы действительно пытаетесь сделать, и это ванильный ответ JS на jQuery $('.class').

Ответ 2

Простой и простой способ

var cusid_ele = document.getElementsByClassName('custid');
for (var i = 0; i < cusid_ele.length; ++i) {
    var item = cusid_ele[i];  
    item.innerHTML = 'this is value';
}

Ответ 3

document.getElementsByClassName('your class');  

или вы можете построить свое имя класса, как это, если это не работает, попробуйте это

if (!document.getElementsByClassName) {
    document.getElementsByClassName=function(cn) {
        var allT=document.getElementsByTagName('*'), allCN=[], i=0, a;
        while(a=allT[i++]) {
            a.className==cn ? allCN[allCN.length]=a : null;
        }
        return allCN
    }
}

Ответ 5

Это должно работать:

function(className)
{
    var matchingItems = [];
    var allElements = document.getElementsByTagName("*");

    for(var i=0; i < allElements.length; i++)
    {
        if(allElements [i].className == className)
        {
            matchingItems.push(allElements[i]);
        }
    }

    return matchingItems;
}

Ответ 7


function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all :
        oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];     
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}