Jak mohu použít getElementsByClassName(<classname>).outerHTML="" skrýt <div>, pokud existuje více názvů pro div class?

0

Otázka

Snažím se naučit, jak skrýt <div> oddíly na webovou stránku, pomocí javascriptu getElementsByClassName("<classname>").outerHTML="".

Všechno funguje skvěle, pokud prvek schovávám např. <div class="someclassname">Some content I want to hide</div>. Nebo, mám úspěch, pokud pomocí getElementByID("<divId>") pokud pracujete s např. <div id="somedivID">.

Problém je, když chtějí skrýt <div> to nemá id a když tam jsou více názvy uvedenými pro div class jako je níže:

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

Jak mohu skrýt takový div, že nemá občanku a žádný jednotný název třídy?

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

Nejlepší odpověď

0

Pro třídy, můžete použít document.querySelectorAll() spolu s css selektory, jako je tento:

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>

S classNames, nezapomeňte, že můžete zadat VŠECHNY classNames (někdy to je užitečné určit jeden prvek, pokud existují jiné prvky, které obsahují část classList:

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

Také si všimněte, že document.querySelectorAll() vrátí kolekci, ne řetězec - což je důvod, proč je nutné použít [0] zápis vybrat první prvek se vrátil v kolekci.

Pomocí getElementsByClassName() je hodně stejný nápad - opět, vrátí kolekce a musí se použít buď [0] zápis se dostat na první prvek (obvykle, pokud jen jeden, je vrácena), nebo forEach() smyčky si vybrat požadovaný prvek na základě jiných kritérií.

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

Super, zabralo to! Děkujeme, že jste! Dlužím ti pivo!
Jago

V jiných jazycích

Tato stránka je v jiných jazycích

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