javascript—我有多少个具有特定标记名的元素

javascript—我有多少个具有特定标记名的元素,javascript,Javascript,在我的身体里,我有这样一句话: <body onLoad="h2_num();"> <h2>Hello world!</h2> <b>Say hello!</b> <h1>Hey!</h1> <h2>My HTML page is</h2> awesome. <h2>The End</h2> 你好,世界! 打声招呼! 嘿 我的HTML页面是 令人惊叹的。 结局

在我的身体里,我有这样一句话:

<body onLoad="h2_num();">
<h2>Hello world!</h2>
<b>Say hello!</b>
<h1>Hey!</h1>
<h2>My HTML page is</h2>
awesome.
<h2>The End</h2>

你好,世界!
打声招呼!
嘿
我的HTML页面是
令人惊叹的。
结局

我想创建一个函数
h2\u num()
,该函数将返回正文中的
个数(换句话说,它将返回3个)。如何进行?

下面将给出结果:

document.getElementsByTagName('h2').length

下面将给出结果:

document.getElementsByTagName('h2').length

document.getElementsByClassName
返回“节点列表”。它类似于数组,您可以使用
length
属性来计算元素的计数

function h2_num () {
    var count = document.getElementsByTagName('h2').length;
    return count;
}
如果您不想对
count
变量执行任何操作,您可以使用

function h2_num () {
    return document.getElementsByTagName('h2').length;
}

document.getElementsByClassName
返回“节点列表”。它类似于数组,您可以使用
length
属性来计算元素的计数

function h2_num () {
    var count = document.getElementsByTagName('h2').length;
    return count;
}
如果您不想对
count
变量执行任何操作,您可以使用

function h2_num () {
    return document.getElementsByTagName('h2').length;
}
编辑:正如RGraham提到的,这比
getElementsByTagName
慢,但它的优点是,如果需要在另一个元素中查找
H2
s,可以使用
querySelectorAll
非常轻松地完成这项工作。例如,使用
class=“moose”

编辑:正如RGraham提到的,这比
getElementsByTagName
慢,但它的优点是,如果需要在另一个元素中查找
H2
s,可以使用
querySelectorAll
非常轻松地完成这项工作。例如,使用
class=“moose”


var count=document.getElementsByTagName('h2')。长度是的,我更改了答案。为什么要使用
getElementsByClassName
?这不起作用。
var count=document.getElementsByTagName('h2').length是的,我更改了答案。为什么要使用
getElementsByClassName
?那不行,小心点。这比
getElementsByTagName
要慢得多,至少对我来说,在Chrome33/Windows7-@RGraham中,我不能很好地复制其他人所做的事情,我可以:)看看jsperf:wow!我没意识到它慢了那么多。谢谢你的反馈。哈,我知道你的意思!如果我写的话,我会走这条路的。当心。这比
getElementsByTagName
要慢得多,至少对我来说,在Chrome33/Windows7-@RGraham中,我不能很好地复制其他人所做的事情,我可以:)看看jsperf:wow!我没意识到它慢了那么多。谢谢你的反馈。哈,我知道你的意思!如果我写的话,我会走这条路的。