aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/document/getelementsbyclassname/index.md
blob: 93148bfffb0b7d287384961bf404f4840a2c6256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
---
title: document.getElementsByClassName
slug: Web/API/Document/getElementsByClassName
tags:
  - API
  - DOM
  - Méthodes
  - Reference
translation_of: Web/API/Document/getElementsByClassName
---
{{APIRef("DOM")}}

Renvoie un objet de type tableau de tous les éléments enfants qui ont tous les noms de classe donnés. Lorsqu'il est appelé sur l'objet document, le document complet est recherché, y compris le nœud racine. Vous pouvez également appeler {{domxref ("Element.getElementsByClassName", "getElementsByClassName ()")}} sur n'importe quel élément; il retournera uniquement les éléments qui sont les descendants de l'élément racine spécifié avec les noms de classes donnés.

## Syntaxe

    var elements = document.getElementsByClassName(names); // or:
    var elements = rootElement.getElementsByClassName(names);

- _elements_ est une {{domxref ("HTMLCollection")}} des éléments trouvés.
- _names_ est une chaîne représentant le nom de la classe des éléments à trouver.
- getElementsByClassName peut être appelé sur n'importe quel élément, pas seulement sur le document. L'élément sur lequel il est appelé sera utilisé comme racine de la recherche.

## Exemples

Trouve tous les éléments ayant la classe « test » :

     document.getElementsByClassName('test')

Trouve tous les éléments ayant les classes « rouge » et « test » :

     document.getElementsByClassName('rouge test')

Trouve tous les éléments qui ont la classe « test » à l'intérieur d'un élément ayant l'ID « main » :

     document.getElementById('main').getElementsByClassName('test')

Nous pouvons également utiliser les méthodes de Array.prototype sur toute {{domxref ("HTMLCollection")}} en passant HTMLCollection comme valeur de la méthode. Ici, nous allons trouver tous les éléments div qui ont une classe de 'test':

```js
var testElements = document.getElementsByClassName('test');
var testDivs = Array.prototype.filter.call(testElements, function(testElement){
    return testElement.nodeName === 'DIV';
});
```

XXX writeme == Notes == Une méthode semblable existe pour \<code>Element\</code>

## Obtenir la classe des éléments test

C'est la méthode d'opération la plus couramment utilisée.

```html
<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div id="parent-id">
        <p>hello word1</p>
        <p class="test">hello word2</p>
        <p >hello word3</p>
        <p>hello word4</p>
    </div>
    <script>
        var parentDOM = document.getElementById("parent-id");

        var test=parentDOM.getElementsByClassName("test");//test is not target element
        console.log(test);//HTMLCollection[1]

        var testTarget=parentDOM.getElementsByClassName("test")[0];//here , this element is target
        console.log(testTarget);//<p class="test">hello word2</p>
    </script>
</body>
</html>
```

## Compatibilité des navigateurs

{{Compat("api.Document.getElementsByClassName")}}

## Spécification

- [W3C: getElementsByClassName](https://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-getelementsbyclassname)