Jak zmienić ID na Class w kodzie JavaScript?

Witam, mam kod JS w którym uwzględniane jest ID danego elementu, nie wiem jak zamienić to żeby działało pod klasą (class)

function openClose(id)

{

   if(document.getElementById) {

      element = document.getElementById(id);

   } else if(document.all) {

      element = document.all[id];

   } else return;


   if(element.style) {

      if(element.style.display == 'block' ){

         element.style.display = 'none';

      } else {

         element.style.display = 'block';

      }

   }

}
getElementsByClassName

Niestety nie działa

A po co chcesz to zmieniać?

Gdyż chce po naciśnięciu przycisku chowała się dana klasa elementów (po prostu kilka), a nie jeden jak to się ma z ID.

A pokaż jak zmieniasz kod z użyciem getElementsByClassName

function openClose(id)

{

   if(document.getElementsByClassName) {

      element = document.getElementsByClassName(id);

   } else if(document.all) {

      element = document.all[id];

   } else return;


   if(element.style) {

      if(element.style.display == 'block' ){

         element.style.display = 'none';

      } else {

         element.style.display = 'block';

      }

   }

}

lub

function openClose(id)

{

   if(document.getElementByClassName) {

      element = document.getElementByClassName(id);

   } else if(document.all) {

      element = document.all[id];

   } else return;


   if(element.style) {

      if(element.style.display == 'block' ){

         element.style.display = 'none';

      } else {

         element.style.display = 'block';

      }

   }

}

lub

function openClose(class)

{

   if(document.getElementsByClassName) {

      element = document.getElementsByClassName(class);

   } else if(document.all) {

      element = document.all[class];

   } else return;


   if(element.style) {

      if(element.style.display == 'block' ){

         element.style.display = 'none';

      } else {

         element.style.display = 'block';

      }

   }

}

lub

function openClose(class)

{

   if(document.getElementByClassName) {

      element = document.getElementByClassName(class);

   } else if(document.all) {

      element = document.all[class];

   } else return;


   if(element.style) {

      if(element.style.display == 'block' ){

         element.style.display = 'none';

      } else {

         element.style.display = 'block';

      }

   }

}

lub

function openClose(classname)

{

   if(document.getElementsByClassName) {

      element = document.getElementsByClassName(classname);

   } else if(document.all) {

      element = document.all[classname];

   } else return;


   if(element.style) {

      if(element.style.display == 'block' ){

         element.style.display = 'none';

      } else {

         element.style.display = 'block';

      }

   }

}

lub

function openClose(classname)

{

   if(document.getElementByClassName) {

      element = document.getElementByClassName(classname);

   } else if(document.all) {

      element = document.all[classname];

   } else return;


   if(element.style) {

      if(element.style.display == 'block' ){

         element.style.display = 'none';

      } else {

         element.style.display = 'block';

      }

   }

}

W

element = document.getElementByClassName(classname);

(clasname) jest oczywiście nazwą klasy?

W tym kodzie nie ustalam jaki to ma być ID (przemawiam do oryginału).

function openClose(id)

{

   if(document.getElementById) {

      element = document.getElementById(id);

   } else if(document.all) {

      element = document.all[id];

   } else return;


   if(element.style) {

      if(element.style.display == 'block' ){

         element.style.display = 'none';

      } else {

         element.style.display = 'block';

      }

   }

}

W kodzie HTML dopiero wpisuję jakie to ma być ID

Ukryj/Pokaż Zawartość

to co tutaj jest znika jak kliknę na ten link powyżej
[/code]

getElementsByClassName() nie zwraca pojedynczego elementu, lecz tablicę elementów. W ogóle tego nie uwzględniasz.

Poza tym, ta funkcja nie działa w żadnej wersji Internet Explorera. W sieci można znaleźć ręcznie pisane funkcje, które powinny działać wszędzie.