Comment puis-je utiliser getElementsByClassName(<classname>).outerHTML="" pour masquer une <div> quand il y a plusieurs noms pour la div de classe?

0

La question

Je suis en train d'apprendre comment masquer <div> les articles sur une page web, à l'aide de javascript getElementsByClassName("<classname>").outerHTML="".

Il fonctionne tous les grands si l'élément que je suis en cachant par exemple <div class="someclassname">Some content I want to hide</div>. Ou, j'ai du succès si vous utilisez getElementByID("<divId>") si l'on travaille avec par exemple <div id="somedivID">.

Le problème est, quand on veut cacher un <div> qui n'a pas de id et lorsqu'il y a plusieurs noms pour le div de classe comme ci-dessous:

<div class="cake forest carousel">Some content I want to hide.</div>

Comment puis-je cacher une telle div qui n'a pas d'id et pas un seul nom de la classe?

hide html
2021-11-20 20:17:07
1

La meilleure réponse

0

Pour les classes, vous pouvez utiliser document.querySelectorAll() avec les sélecteurs css, comme ceci:

document.querySelector('button').addEventListener('click', () => {
  document.querySelectorAll('.cake')[0].style.display = 'none';
});
<div class="cake forest carousel">Some content I want to hide.</div>
<button>Hide content</button>

Avec les noms de classe, n'oubliez pas que vous pouvez spécifier TOUS les noms de classe (c'est parfois utile pour repérer un élément si il y a d'autres éléments qui contiennent une partie de la classList:

document.querySelectorAll('.cake.forest.carousel')[0] . . .

Notez également que document.querySelectorAll() renvoie une collection, pas une chaîne de caractères, c'est pourquoi il est nécessaire d'utiliser la [0] la notation de choisir le premier élément est retourné dans la collection.

À l'aide de getElementsByClassName() c'est la même idée - encore une fois, il renvoie une collection et il faut soit utiliser l' [0] la notation pour obtenir le premier élément (généralement, si un seul est retourné), ou un forEach() boucle pour choisir l'élément souhaité sur la base d'autres critères.

document.querySelector('button').addEventListener('click', () => {
  document.getElementsByClassName('cake forest')[0].style.display = 'none';
});
<div class="cake forest carousel">This div has classes cake, forest and carousel</div>
<div class="cake">This div only has class cake</div>
<button>Hide divs with classes cake AND forest</button>

2021-11-20 20:30:04

Génial, il a travaillé! Merci merci!!!! Je vous dois une bière!
Jago

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................