Javascript如何捕获这些值?

Javascript如何捕获这些值?,javascript,html,webpage,Javascript,Html,Webpage,假设我有一个网页,里面有: <a href="https://www.youtube.com/analytics?vmv=2#fi=v-FLp5ViIYS7s" class="yt-uix-tooltip" title="View stats"> <span class="vm-video-metric video-view-count"> <span> <span class="vm-video-me

假设我有一个网页,里面有:

<a href="https://www.youtube.com/analytics?vmv=2#fi=v-FLp5ViIYS7s" class="yt-uix-tooltip" title="View stats"> 
    <span class="vm-video-metric video-view-count">
        <span> 
            <span class="vm-video-metric-icon"> 
                <img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""> 
            </span> 
            <span class="vm-video-metric-value">
                1,644
            </span> 
        </span> 
    </span> 
    <span class="vm-video-metric video-likes-count"> 
        <span> 
            <span class="vm-video-metric-icon"> 
                <img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""> 
            </span> 
            <span class="vm-video-metric-value">
                13
            </span> 
        </span> 
    </span> 
    <span class="vm-video-metric video-dislikes-count">
        <span> 
            <span class="vm-video-metric-icon"> 
                <img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""> 
            </span> 
            <span class="vm-video-metric-value">
                3
            </span> 
        </span> 
    </span>

1,644
13
3.
我想捕获由
标记封装的三个值


在Javascript中,这通常使用id标记完成。但是由于没有id标记,如何捕获这些值呢?

使用
getElementsByClassName
方法,如下所示

var elements = document.getElementsByClassName("vm-video-metric-value");
for (var i = 0; i < elements.length; i++) {
    console.log(elements[i].innerHTML);
}
var elements=document.getElementsByClassName(“vm视频度量值”);
对于(var i=0;i
使用
getElementsByClassName
方法,如下所示

var elements = document.getElementsByClassName("vm-video-metric-value");
for (var i = 0; i < elements.length; i++) {
    console.log(elements[i].innerHTML);
}
var elements=document.getElementsByClassName(“vm视频度量值”);
对于(var i=0;i
var qsa=document.queryselectoral(“span.vm视频度量值”),l=qsa.length,i;
var VAL=[];
对于(i=0;i
var qsa=document.queryselectoral(“span.vm视频度量值”),l=qsa.length,i;
var VAL=[];

对于(i=0;i,如果您正在使用jQuery,您应该这样做!它非常容易学习,并且最多需要一周的时间来开始使用它:

$('span.vm-video-metric-value').each(function() {
    console.log($(this).text());
});
对于具有vm类视频度量值的每个范围,将其中的文本打印到控制台

容易极了


请给jQuery一个机会,它是一个很棒的库。

如果您正在使用jQuery,那么您应该这样做!它非常简单易学,您最多需要一周的时间才能开始使用它:

$('span.vm-video-metric-value').each(function() {
    console.log($(this).text());
});
对于具有vm类视频度量值的每个范围,将其中的文本打印到控制台

容易极了


请给jQuery一个机会,它是一个很棒的库。

您是否使用过像jQuery这样的JavaScript框架?我对此没有太多经验,但如果必要的话,我可能会使用它,或者如果它使这变得更容易的话。您是否使用过像jQuery这样的JavaScript框架?我没有太多经验,但如果需要的话,我可能会使用它必要的,或者如果它使这变得更容易。但是在IE8中不起作用。我的答案是。如果这不是询问者关心的问题,那么这很好,但我想我会指出这一点。+1无论如何:PDOES在IE8中不起作用。我的答案是。如果这不是询问者关心的问题,那么这很好,但我想我会指出这一点。+1:对吗这段代码总共执行200多个命令?而我的和契肯的总共执行12个命令。这就是为什么你不应该使用jQuery。@Kolink:你能详细说明一下吗?我不明白这段代码是如何运行200多个命令的。@SergioTapia:很可能,他指的是jQuery的核心代码,它必须将DOM元素包装在jQuery对象中,以及其他类似的东西hat nature,它增加了正在执行的命令的数量,并且可以说增加了执行时间。还值得注意的是,Kolink不喜欢任何jQuery,因为我看到他在今晚的几次回答中谴责了它。@WesleyJohnson:在这种情况下,这是可以接受的开销。我更喜欢代码可读性,尤其是在一些琐碎的问题上这就是为什么你不应该使用jQuery的原因。@Kolink:你能详细说明一下吗?我不明白这段代码是如何运行200多个命令的。@SergioTapia:很可能,他指的是jQuery的core代码,必须将DOM元素包装在jQuery对象中,以及类似的性质,这增加了正在执行的命令的数量,并且可以说增加了执行时间。另外值得注意的是,Kolink不喜欢任何jQuery,因为我看到他今晚在几次回答中谴责了它。@WesleyJohnson:在这种情况下,这就是接受我更喜欢代码的可读性,尤其是在像这样琐碎的事情上。比起节省我的计算机,我更喜欢做200条命令的“工作”。