diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/jqLite.js | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/jqLite.js b/src/jqLite.js index d7faa1e8..9ff90d7c 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -88,6 +88,16 @@ function getStyle(element) { return current; } + +/** + * Converts dash-separated names to camelCase. Useful for dealing with css properties. + */ +function camelCase(name) { + return name.replace(/\-(\w)/g, function(all, letter, offset){ + return (offset == 0 && letter == 'w') ? 'w' : letter.toUpperCase(); + }); +} + ///////////////////////////////////////////// function jqLiteWrap(element) { if (isString(element) && element.charAt(0) != '<') { @@ -247,12 +257,14 @@ forEach({ hasClass: JQLiteHasClass, css: function(element, name, value) { + name = camelCase(name); + if (isDefined(value)) { element.style[name] = value; } else { var val; - if (msie <=8) { + if (msie <= 8) { // this is some IE specific weirdness that jQuery 1.6.4 does not sure why val = element.currentStyle && element.currentStyle[name]; if (val === '') val = 'auto'; @@ -260,7 +272,12 @@ forEach({ val = val || element.style[name]; - return (val === '') ? undefined : val; + if (msie <= 8) { + // jquery weirdness :-/ + val = (val === '') ? undefined : val; + } + + return val; } }, |
