3

可能重复:
如何在 JavaScript 中按类获取元素?

我需要从跨度内部获取文本。跨度没有 ID。它只有一个类。这个类只有一个跨度。有谁知道我如何在 javascript 中获取这个 span 元素?谢谢!

<span class="galleria-current">1</span>

这与如何在 JavaScript 中按类获取元素略有不同这是问更通用的“获取一个带有类的元素”,以防跨度有更简单的方法,加上这个问题是关于替换文本,而在这种情况下我想获得innerHTML。

4

2 回答 2

14

是的,您可以使用document.getElementsByClassName().

这将返回具有该类名的所有元素的数组。所以第一个可以像这样访问:

var span = document.getElementsByClassName("galleria-current")[0]

于 2012-06-04T18:50:22.087 回答
4
function getFirstSpanWithClass(cssClass) {
    var elements = document.getElementsByTagName('span');
    for (var i = 0; i < elements.length; i++) {
        if((' ' + elements[i].className + ' ').indexOf(' ' + cssClass + ' ') > -1) {
            return elements[i];
        }
    }
}

var span = getFirstSpanWithClass('galleria-current'); // should return your span element.
if (span){
    // in case there is a span on the page, write its innerHTML to console
    console.log(span.innerHTML);
}

以及一个将为您提供所有这些的示例:

function getSpansWithClass(cssClass) {
    var elements = document.getElementsByTagName('span');
    var out = [];
    for (var i = 0; i < elements.length; i++) {
        if((' ' + elements[i].className + ' ').indexOf(' ' + cssClass + ' ') > -1) {
            out.push(elements[i]);
        }
    }
    return out;
}
于 2012-06-04T18:51:50.340 回答