Jak mogę korzystać z getElementsByClassName(<nazwa klasy>).outerHTML="", aby ukryć <nazwa klasy><div>, gdy do klasy div istnieje kilka nazw?

0

Pytanie

Próbuję nauczyć się ukrywać <div> sekcje na stronie sieci web, które także używają języka javascript getElementsByClassName("<classname>").outerHTML="".

Wszystko działa to dobrze, jeśli element, który nie ukrywam, np. <div class="someclassname">Some content I want to hide</div>. Czy mam sukces, jeśli używam getElementByID("<divId>") jeśli pracujesz, na przykład, z <div id="somedivID">.

Problem w tym, że jeśli chcesz ukryć <div> to nie ma żadnego id i kiedy do klasy div podano kilka nazw, na przykład, jak pokazano poniżej:

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

Jak mogę ukryć taka div, który nie ma konta i nie ma jednej nazwy klasy?

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

Najlepsza odpowiedź

0

Do zajęć można użyć document.querySelectorAll() wraz z sobą selektorów css, takie jak ten:

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>

Z nazwami klas, pamiętaj, że możesz podać WSZYSTKIE nazwy klas (czasami jest to przydatne do określenia jednego elementu, jeśli istnieją inne elementy, które zawierają część listy klas:

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

Należy również pamiętać, że document.querySelectorAll() zwraca kolekcję, a nie wiersz - oto dlaczego warto używać [0] symbol, aby wybrać pierwszy element, który jest zwracany w kolekcji.

Z pomocą getElementsByClassName() to prawie ten sam pomysł - znowu zwraca kolekcję, i trzeba albo użyć [0] oznaczenie w celu uzyskania pierwszego elementu (zazwyczaj, gdy zwracany jest tylko jeden) lub forEach() cykl, aby wybrać żądany element na podstawie innych kryteriów.

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

Niesamowite, to się udało! Dziękuję, dziękuję ci! Muszę ci piwo!
Jago

W innych językach

Ta strona jest w innych językach

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