Dit scriptje werkt in IE9, FF en Chrome.
In IE8 werkt het als je 'class' verandert naar 'className'.
Is het mogelijk om deze allebei samen toch te laten werken ?
Het is de bedoeling dat bij het bij het bovenste radiotype "bovenste" groen is en "onderste rood.
Bij het onderste radiotype net andersom.
Javascript Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 function no_yes() { if (document.getElementById('Eigentekst').checked) { document.getElementById('bovenste').setAttribute('class','textfield_Boven'); document.getElementById('onderste').setAttribute('class','textfield_Onder'); } else { document.getElementById('onderste').setAttribute('class','textfield_Boven'); document.getElementById('bovenste').setAttribute('class','textfield_Onder'); } }
Testpagina
Groeten,
Yammaski.
Yammaski.
Probeer het eens met el.className += " myClass";
Dat werkt iig voor iedere browser op mijn pc
http://robins.awardspace.com/helpmij/className/
Edit: In jouw geval gewoon el.className = "myClass", aangezien je de eerdere className van el wil vervangen.
Laatst aangepast door Robin S : 5 april 2012 om 19:04
Alvast bedankt.
Ik heb een heleboel geprobeerd ... tevergeefs, of ok doe nog iets verkeerd.
Groeten,
Yammaski.
Yammaski.
Hoi Yam,
Kan je het niet gewoon doen met de styles rechtstreeks in het script?
Maar het valt me op dat in de html-code van je testpagina twee id's/names "Eigentekst" staan, en ik kan me voorstellen dat browsers daar tegen protesteren.Javascript Code:
1 2 3 4 5 6 7 8 9 10 11 12 function no_yes(){ if (document.getElementById('Eigentekst').checked) { document.getElementById('bovenste').style.backgroundColor="green"; document.getElementById('onderste').style.backgroundColor="red"; } else { document.getElementById('bovenste').style.backgroundColor="red"; document.getElementById('onderste').style.backgroundColor="green"; } }
Dan zal het id="Eigentekst" en id="Anderetekst" moeten worden.
Met vriendelijke groet,
CSShunter
Laatst aangepast door csshunter : 6 april 2012 om 15:45 Reden: correctie
Bedankt ... ik had het net opgelost met :
Javascript Code:
1 2 3 4 function noyes(yn){ document.getElementById('bovenste').className=yn?'textfield_Boven':'textfield_Onder'; document.getElementById('onderste').className=yn?'textfield_Onder':'textfield_Boven'; }
Bij radiobuttons moet de "name" hetzelfde zijn, ik had ook de "id" hetzelfde. Heb het aangepast.Maar het valt me op dat in de html-code van je testpagina twee id's/names "Eigentekst" staan, ...
Groeten,
Yammaski.
Yammaski.
Ja, keurig: met omschakelen van de className kan het ook.
- Opera schijnt het dan langzamer te doen dan met een rechtstreekse style, zegt quirksmode (in ieder geval bij Opera 9.5b), maar voor de andere browsers is dit de snelste methode.
Nu denk ik niet dat Opera er veel last van zal hebben, want bij de Quirksmode benchmark-test worden er 1700 elementen van een andere className voorzien, en bij jou maar twee.
Met vriendelijke groet,
CSShunter
Laatst aangepast door csshunter : 6 april 2012 om 18:26