04. februar 2004 - 13:25
Der er
12 kommentarer og 1 løsning
skjule flere id-tags vha. CSS
Hejsa.. Jeg har gang i lidt let programmering med at skjule et par rows "<tr>" i en tabel på en side: Her er et eksempel: <html> <head> <title>Vis/skjul tekst</title> <script> function toggle(e) { if (e.style.display == "none") { e.style.display = ""; } else { e.style.display = "none"; } } </script> </head> <body> <div style="cursor: hand" onclick="toggle(document.all.HideShow);"> Klik her! </div> <table><tr><td>Hej</td></tr> <tr id="HideShow"><td bgcolor="red">Dette vil forsvinde</td></tr> <tr><td>Farvel</td></tr> </table> </body> </html> Mit problem er at jeg gerne ville kunne gøre det på flere rækker. Altså at jeg f.eks. skal have følgende til at forsvinde: .... <tr id="HideShow"><td bgcolor="red">Dette vil forsvinde</td></tr> <tr id="HideShow"><td bgcolor="red">Hvad med dette?</td></tr> .... JavaScript kan selvfølgelig ikke li' at der er flere elementer der hedder det samme, men hvordan kan jeg få skjult begge rows på en gang? Det virker så vidt jeg har prøvet kun med "id=xxxx" og ikke "class=xxxx" - nogen der kan hjælpe? :)
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
04. februar 2004 - 13:32
#1
ja id kan kun bruges på ét element. Class kan bruges på flere. Så brug class. Feks: tr.hideshow {display:none;} kan bruges på flere
04. februar 2004 - 13:40
#2
Hmm, jeg sidder lidt og slås med dit forslag men kan ikke rigtig få det til at virke som det skal. Kunne du lokkes til at prøve at strikke et eksempel sammen hvor man kan skiftevis skjule/vise 2 tr's? :)
04. februar 2004 - 13:51
#3
<html> <head> <title>Vis/skjul tekst</title> <style> #HideShow { display:inline; } </style> <script> function toggle (className) { var all = document.all ? document.all : document.getElementsByTagName('*'); var elements = new Array(); for (var i = 0; i < all.length; i++) { if (all[i].className == className) { if( all[i].style.display == '' || all[i].style.display == 'inline') { all[i].style.display = 'none'; } else { all[i].style.display = 'inline'; } } } return elements; } </script> </head> <body> <div style="cursor: hand" onclick="toggle('HideShow');"> Klik her! </div> <table><tr><td>Hej</td></tr> <tr class="HideShow"><td bgcolor="red">Dette vil forsvinde</td></tr> <tr><td>Farvel</td></tr> <tr class="HideShow"><td bgcolor="red">Dette vil også forsvinde</td></tr> </table> </body> </html> /nute
04. februar 2004 - 13:54
#4
Wow - tusind tak, nute.. Tænkte nok det var noget med en løkke som løb elementerne igennem! Mange tak for dit eksempel - det vil jeg straks brygge videre på! :)
04. februar 2004 - 13:59
#5
fino ... men det er ikke 200 points værdt ... stik mig 40-59,7 points, så er jeg fornøjd ;o]
04. februar 2004 - 16:08
#6
Løsningen virker fint i IE og OPERA, men Mozilla er ikke så glad for denne løsning!
04. februar 2004 - 17:05
#7
hmm ... det har du sgu ret i ... hvorfor den ikke fungerer, må jeg ærlig indrømme at jeg ikke helt kan overskue. tips modtages med tak ! /nute
04. februar 2004 - 18:26
#8
<style> .HideShow{ /*classes angives med . -- id'er med # */ display:inline; } </style>
04. februar 2004 - 20:18
#9
DOH !!! det har åbenbart været en dårlig dag ... men det fungerer dog stadig ikke i mozilla ... mon ikke det er fordi jeg sidder med en oldtidsversion af mozilla på denne computer ? /nute
04. februar 2004 - 20:53
#10
Selvom # ændres til . virker det ikke i Mozilla 1.4, tidligere prøvede jeg på en version 1.6, virkede heller ikke!
05. februar 2004 - 12:46
#11
Det virkede, men ikke efter hensigten, hvorfor kan jeg ikke lige gennemskue, for der afsættes noget ekstra plads ... -- efter en udrydning af potentielt farligt navngivne ting (all, className osv. og ændring af display-property til det mere passende 'block'), giver den stadig tilføjelse af højden, når det igen vises !o] At cursor så mere hensigtsmæssigt kan hedde pointer (kun IE forstår hand !-) er så en helt anden sag ...
05. februar 2004 - 12:49
#12
Undrer mig, for jeg har da lavet denne slags før ?-) -- og det virker upåklageligt, når det er celler !-)
05. februar 2004 - 12:49
#13
ja, det er den lille ekstra højde der bliver sat ind, jeg hellere ikke hel kan gennemskue ... |-:-|
Vi tilbyder markedets bedste kurser inden for webudvikling