aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMisko Hevery2010-07-14 17:48:09 -0700
committerMisko Hevery2010-07-14 17:48:09 -0700
commit17d2ced9cc7e45d1d7272a1217861e598e5522dd (patch)
tree025484db26066cb047fc1d9041d7a3b68d17082c /src
parente3e9ac86750b20fb8ad6765011e06d569899612d (diff)
downloadangular.js-17d2ced9cc7e45d1d7272a1217861e598e5522dd.tar.bz2
appease IE on CSS styles
Diffstat (limited to 'src')
-rw-r--r--src/directives.js4
-rw-r--r--src/jqLite.js19
2 files changed, 13 insertions, 10 deletions
diff --git a/src/directives.js b/src/directives.js
index 4e7c070b..bcc427e8 100644
--- a/src/directives.js
+++ b/src/directives.js
@@ -254,11 +254,11 @@ angularDirective("ng:hide", function(expression, element){
angularDirective("ng:style", function(expression, element){
return function(element){
- var resetStyle = element.css();
+ var resetStyle = getStyle(element);
this.$onEval(function(){
var style = this.$eval(expression) || {}, key, mergedStyle = {};
for(key in style) {
- if (typeof resetStyle[key] == 'undefined') resetStyle[key] = null;
+ if (resetStyle[key] === undefined) resetStyle[key] = '';
mergedStyle[key] = style[key];
}
for(key in resetStyle) {
diff --git a/src/jqLite.js b/src/jqLite.js
index a024507f..de1884a3 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -36,6 +36,16 @@ function jqClearData(element) {
}
}
+function getStyle(element) {
+ var current = {}, style = element[0].style, value;
+ for (var name in style) {
+ value = style[name];
+ if (1*name != name && name != 'cssText' && value && typeof value == 'string' && value !='false')
+ current[name] = value;
+ }
+ return current;
+}
+
function JQLite(element) {
if (isElement(element)) {
this[0] = element;
@@ -175,15 +185,8 @@ JQLite.prototype = {
} else {
return style[name];
}
- } else if(name) {
- extend(style, name);
} else {
- var current = {};
- for (var i=0; i<style.length; i++) {
- name = style[i];
- current[name] = style[name];
- }
- return current;
+ extend(style, name);
}
},