JavaScript - TypeError: document.getElementsByClassName(...).style is undefined

30.12.2018 napsal Ursula Flint

Vyřešeno
Ahoj,

když se snažím na HTML stránce skrýt obsah pomocí tlačítka na Ukaž / Skryj podle tohoto návodu https://www.superuser.cz/poradna/48-tlacitko-na-skryvani-obsahu-v-html-strance s tím rozdílem, že já chci skrýt všechny DOM elementy s class name "hide"


function hide(x)
{
if(x==1)
document.getElementsByClassName("hide").style.display="block";
else
document.getElementsByClassName("hide").style.display="none";
}


tak to háže chybu TypeError: document.getElementsByClassName(...).style is undefined . Nevíte co s tím?

RE: JavaScript - TypeError:…

06.01.2019 odpověděl OL3G

Zkontrolováno

Ahoj, getElementsByClassName ti vrací kolekci (pole), takže chybu TypeError: document.getElementsByClassName(...).style is undefined lze vyřešit v tomto případě třeba takto:

function hide(x)
{
  var hides = document.getElementsByClassName("hide");
  for(var i = 0; i < hides.length; i++)
  {
    if(x==1) {
      document.getElementsByClassName("hide")[i].style.display="block";
    } else {
      document.getElementsByClassName("hide")[i].style.display="none";
    }
  }
}
Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace