Javascript - 按班级获取跨度?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/10886565/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-24 03:25:14  来源:igfitidea点击:

Javascript - get span by the class?

javascripthtml

提问by Kyle

Possible Duplicate:
How to Get Element By Class in JavaScript?

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

I need to get the text from inside of a span. The span has no ID. It only has a class. There would only be one span with this class. Does anyone know how I can get this span element in javascript? Thanks!

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

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

This is slightly different than How to Get Element By Class in JavaScript?which is asking the more generic "get an element with a class", in case there's an easier way for spans, plus that question is about replacing text, whereas I want to getthe innerHTML in this case.

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

回答by Jivings

Yes, you can use document.getElementsByClassName().

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

This will return an Array of all the elements with that classname. So the first one could be accessed like this:

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

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

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

回答by Li0liQ

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);
}

And an example that will give you all of them:

以及一个可以为您提供所有内容的示例:

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;
}