Ako môžem použiť getElementsByClassName(<classname>).outerHTML="" skryť <div> ak existujú viaceré mená div triedy?

0

Otázka

Snažím sa naučiť, ako skryť <div> sekcie na webovej stránke, pomocou javascriptu getElementsByClassName("<classname>").outerHTML="".

To všetko funguje skvele, ak prvkom som skrývajú napr. <div class="someclassname">Some content I want to hide</div>. Alebo, ako som mať úspech, ak sa používa getElementByID("<divId>") ak pracujete s napr. <div id="somedivID">.

Problém je, keď chceme skryť <div> že nemá žiadne id a keď nie sú tam viaceré mená sú uvedené div triedy ako je to uvedené nižšie:

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

Ako môžem skryť taký div že nie id a žiaden názov triedy?

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

Najlepšiu odpoveď

0

Pre triedy, môžete použiť document.querySelectorAll() spolu s css selektory, ako 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, nezabudnite, že môžete zadať VŠETKY classNames (niekedy, že je užitočné určiť jeden prvok, ak sú tu iné prvky, ktoré obsahujú časti classList:

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

Tiež si všimnite, že document.querySelectorAll() vráti zbierka, nie string - čo je dôvod, prečo je potrebné používať [0] zápis na výber prvého prvku sa vrátil v zbierke.

Pomocou getElementsByClassName() je oveľa rovnaký nápad - opäť vráti zber a jeden sa musí využiť [0] zápis dostať na prvý prvok (zvyčajne iba jeden sa vráti), alebo forEach() slučky vybrať požadovaný prvok na základe iný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

Úžasné, fungovalo to! Ďakujeme vám, že ste! Vďačím si pivo!
Jago

V iných jazykoch

Táto stránka je v iných jazykoch

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