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';
}
}
}
Mathew
(Mathew)
#4
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.
Mathew
(Mathew)
#6
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';
}
}
}
Mathew
(Mathew)
#8
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]
absens
(Zbyszekborkowski)
#10
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.