setAttribute, style i Internet Explorer (IE)
- Data:
- 4 wrzesień 2008
- Kategoria:
- Programowanie
Próbowałeś kiedyś skorzystać z javascriptowej funkcji setAttribute('style','właściwości'); i nie zadziałała Ci w Internet Explorer? No właśnie. A to dlatego, że IE nie wspiera tego w całości i jest niekompletnie zaimplementowane.
Niemniej jednak jest na to proste rozwiązanie, które cytujemy za peterbe.com:
function rzCC(s){
// thanks http://www.ruzee.com/blog/2006/07/\
// retrieving-css-styles-via-javascript/
for(var exp=/-([a-z])/;
exp.test(s);
s=s.replace(exp,RegExp.$1.toUpperCase()));
return s;
}
function _setStyle(element, declaration) {
if (declaration.charAt(declaration.length-1)==';')
declaration = declaration.slice(0, -1);
var k, v;
var splitted = declaration.split(';');
for (var i=0, len=splitted.length; i<len; i++) {
k = rzCC(splitted[i].split(':')[0]);
v = splitted[i].split(':')[1];
eval("element.style."+k+"='"+v+"'");
}
}
Teraz wystarczy wskazać element i nadać mu właściwości style:
var closer = document.createElement('a');
//a.setAttribute('style', 'float:left; font-weight:bold');
_setStyle(a, 'float:left; font-weight:bold');
a.onclick = function() { ...
Twój komentarz
Kategorie
- Accessibility (16)
- Aktualności Ikeris (22)
- Artykuły (12)
- CSS (13)
- Flash (4)
- Grafika (2)
- HTML i XHTML (13)
- Oprogramowanie (6)
- Programowanie (18)
- Przeglądarki (23)
- Server side (3)
- Skrypty (7)
- Systemy (2)
- Usability (6)
- Wordpress (11)
Linki
