视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何使用getElementsByClassName()从类名中获取多个HTML元素
2020-11-27 19:28:10 责编:小采
文档
 GetElementsByClassName()是一个方法,可以获取为其设置目标类名称的所有HTML元素,本篇文章来给大家介绍关于GetElementsByClassName()方法的具体使用。

例如,HTML元素的类名如下

<h1 class="sample">标题</h1>
<p class="test">文本</p>
<a class="test" href="#">链接</a>

它具有可以为多个HTML元素赋予相同类名的功能。

因此,通常在一个HTML文件中有许多相同的类名,使用getElementsByClassName(),我们可以使用任意类名提取所有HTML元素。

如何使用getElementsByClassName()

我们先来看一下基本的语法

通过使用字符串指定要提取到目标范围的类名来使用。

doccument.getElementsByClassName( 类名 );

可以通过将目标范围设置为document来指定整个HTML元素。

当然,也可以设置任意范围。(详情将在后面描述)

另请注意,返回值是一个非常类似于数组的HTML集合。

获取具有任意类名的所有元素的方法

首先假设有以下HTML。

<h1 class="sample">标题1</h1>
<p class="test">文本1</p>
<h2 class="sample">标题2</h2>
<p class="test">文本2</p>

有两个类名sample和test

例如,要获取具有类名“test”的所有HTML元素,可以按如下方式编写。

var result = document.getElementsByClassName('test');
console.log(result[0]);
console.log(result[1]);

执行结果

<p class="test">文本1</p>
<p class="test">文本2</p>

如果在参数中将“test”指定为字符串,则可以获取包含该类名的所有HTML元素的集合。

之后,如果使用类似下标的数组输出,则可以获得HTML元素,如执行结果。

指定多个类的方法

例如,以下HTML

<h1 class="sample test">标题1</h1>
<p class="test">文本1</p>
<h2 class="sample test">标题2</h2>
<p class="test">文本2</p>

在这个例子中,h1和h2要素被赋予了2个类名

即使在这种情况下,您也可以通过为参数提供多个类名来获取所有类。

var result = document.getElementsByClassName('sample test');
console.log(result[0]);
console.log(result[1]);

执行结果

<h1 class="sample test">标题1</h1>
<h2 class="sample test">标题2</h2>

GetElementsByClassName()的使用

指定document以外的根元素的方法

我们看看以下HTML元素

<h1 class="sample test">标题1</h1>
<p class="test">文本1</p>
<div id="wrap">
 <h2 class="sample test">标题2</h2>
 <p class="test">文本2</p>
</div>

在该示例中,使用div元素形成分层结构。

通过这样描述,例如可以仅以id属性值wrap内的HTML元素为对象。

指定元素范围搜索类的方法

如果像上面那样设置div元素的范围,请按如下所示进行编写。

var div = document.getElementById('wrap');
var result = div.getElementsByClassName('test sample');
console.log(result[0]);

执行结果

<h2 class="sample test">标题2</h2>

首先,准备getElementById()来获取div元素。

之后,以取得的div元素为对象来执行getElementsByClassName()。

从执行结果来看,只获得div元素内的h2元素。

下载本文
显示全文
专题