如何通过类名获取元素

How to get element by class name

本文关键字:获取 元素 何通过      更新时间:2023-09-26

我想知道是否有一种方法可以使getElementByClassName("classname").innerHTML函数或相当于getElementById("ClassName").innerHTML的东西

您的函数名称中缺少sgetElementsByTagName返回需要迭代的元素的元素集合:

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

IE8及以下版本不支持getElementsByClassName,所以你必须找到一个填充或使用querySelectorAll (IE8)。

我建议您使用JQuery,您可以直接使用CSS选择器(如.yourclass)来查找给定类的所有元素:

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

如果你不喜欢使用JQuery,你可以使用纯Javascript:

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

但要小心IE8不兼容问题。作为另一种选择(速度较慢,但可以构建更复杂的CSS选择器),您可以使用:

document.querySelector('.cssSelector')

这将返回一个元素响应你的CSS选择器,或

document.querySelectorAll('.cssSelector')

将返回多个元素。

可以使用jquery

$('.className').html();
http://api.jquery.com/html/

如果你使用jQuery,你可以像在CSS选择器中那样获得它,所以:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>

然后……

$('.classname').each(function() {
    // get html
    $(this).html();
    // set html
    $(this).html('something');
});

注意,您还可以方便地管理innerHTML