it-swarm-pt.tech

Como obter elemento pelo nome da classe

Quero saber se existe uma maneira de getElementByClassName("classname").innerHTML function ou algo equivalente ao getElementById("ClassName").innerHTML.

12
foshoeiyyy

Está faltando um s no nome da sua função. getElementsByTagName retorna uma coleção de elementos, dos quais você precisa repetir:

var elements = document.getElementsByClassName("classname");

for (var i = 0; i < elements.length; i++) {
    elements[i].innerHTML = 'foo';
}

O IE8 e abaixo não suportam getElementsByClassName, então você terá que encontrar um polyfill ou usar querySelectorAll (IE8).

26
Blender

Eu sugiro que você use JQuery, onde você pode usar diretamente seletores CSS (como .yourclass) para encontrar todos os elementos de uma determinada classe:

$('.yourclass').doWhatYouWant();

Se você preferir não usar JQuery, poderá usar Javascript puro:

document.getElementsByClassName('my-fancy-class')

Mas tenha cuidado com o problema de incompatibilidade do IE8. Como alternativa (mais lento, mas você pode criar seletores de CSS mais complexos), você pode usar:

document.querySelector('.cssSelector')

O que retornará m elemento respondendo ao seu seletor de CSS ou

document.querySelectorAll('.cssSelector')

O que retornará vários elementos.

1
Fire-Dragon-DoL

Você pode fazer isso usando jquery

$('.className').html();

http://api.jquery.com/html/

0
Robert