Het is mogelijk om een CSS property als volgt uit te lezen:
Het propNotationToCSS array is de vertaling van hoofdletter-notatie naar streepjes-notatie. Dat is nodig omdat de gecko-methode de ene notatie vergt en de IE-methode de andere aanpak.
Dit werkt naar behoren. Nu wil ik die properties niet alleen uitlezen, maar ook kunnen schrijven. Daarvoor kan ik geen equivalente functie(s) vinden. Uit armoe doe ik het nu maar zo:
Dat werkt op zich wel, maar is toch niet erg netjes. Weet iemand de juiste manier om een style property (uit een variabele) te zetten?
JavaScript:
1
2
3
4
5
6
7
8
| var propNotationToCSS = new Array(); propNotationToCSS["backgroundColor"] = "background-color"; propNotationToCSS["color"] = "color"; //Gecko if (window.getComputedStyle) rgbval = window.getComputedStyle(currentEl,null).getPropertyValue(propNotationToCSS[currentprop]); //IE else if (currentEl.currentStyle) rgbval = currentEl.currentStyle[currentprop]; |
Het propNotationToCSS array is de vertaling van hoofdletter-notatie naar streepjes-notatie. Dat is nodig omdat de gecko-methode de ene notatie vergt en de IE-methode de andere aanpak.
Dit werkt naar behoren. Nu wil ik die properties niet alleen uitlezen, maar ook kunnen schrijven. Daarvoor kan ik geen equivalente functie(s) vinden. Uit armoe doe ik het nu maar zo:
JavaScript:
1
| eval("currentEl.style."+currentprop+" = '"+newcolor+"'"); |
Dat werkt op zich wel, maar is toch niet erg netjes. Weet iemand de juiste manier om een style property (uit een variabele) te zetten?