Avatar billede nythjem Nybegynder
04. august 2005 - 10:43 Der er 5 kommentarer og
1 løsning

Loop alle celler, tabeller igennem med id´et?

Hej Alle!

Jeg har en funktion, der skifter farve på en celle. Når jeg trykker på en knap finder funktionen en celle eller tabel med navnet og erstatter farven med den valgte farve.

Men den erstatter kun én tabel. Det vil sige, at hvis der er flere celler eller tabeller med samme id bliver kun den første erstattet.

Og derfor har jeg jo brug for, at min funktion looper det hele igennem.

Men hvordan gør jeg lige det? :)

function transferColor02(color02) {
window.opener.parent.frames['fullpage-content'].ivc_user_main.document.getElementById('main_table').style.backgroundColor = (color02.toLowerCase());
document.getElementById('farveB').style.backgroundColor = (color02.toLowerCase());
}
Avatar billede roenving Novice
04. august 2005 - 11:29 #1
Id'er _skal_ være unikke, derfor findes der kun en getElementById i ental, mens nogle af de andre, f.eks. getElementsByTagName, er i flertal !-)

-- men f.eks. kan du benytte dig af className til at finde bestemte elementer:

function transferColor02(color02) {
  var elms = window.opener.parent.frames['fullpage-content'].ivc_user_main.document.getElementsByTagName("*");
  for(i=0;elms.length>i;i++)
    if(elms[i].className.indexOf('main_table')>-1)
      elms[i].style.backgroundColor = color02.toLowerCase();
  document.getElementById('farveB').style.backgroundColor = (color02.toLowerCase());
}

-- så kan du tilføje det brugte className til alle elementer:

class="main_table"

eller f.eks.

class="border main_table"

-- det sidste skal bare illustrere hvordan man sætter flere klasser på samme element !-)
Avatar billede softspot Forsker
04. august 2005 - 11:31 #2
Der må kun være et element med et givent id på en side, så du skal nok benytte en anden måde at finde dine elementer på hvis du vil lave en rutine der kan operere på flere elementer på een gang (eks. via en class, eller en custom attribute).
Avatar billede nythjem Nybegynder
04. august 2005 - 12:07 #3
Øv, havde lige håbet *Gg*

Men mange tak Jes for det fine eksempel og forklaring :)

Og du ligger da gerne et svar, ik? :)
Avatar billede roenving Novice
04. august 2005 - 12:11 #4
Velbekomme '-)
Avatar billede nythjem Nybegynder
04. august 2005 - 12:22 #5
Takker Jes..

Og god dag..
Avatar billede roenving Novice
04. august 2005 - 12:29 #6
-- og jeg takker for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester