From 259c2bba4bf1fc4f0d4cf5bcda4ffef0fb5a615a Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Mon, 19 Apr 2010 17:02:46 -0700 Subject: last failing ie test remaining --- src/Compiler.js | 9 +++++++-- src/jqLite.js | 5 ++++- src/markups.js | 6 ++++++ 3 files changed, 17 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/Compiler.js b/src/Compiler.js index a762b5fd..96df88fb 100644 --- a/src/Compiler.js +++ b/src/Compiler.js @@ -182,10 +182,15 @@ function eachNode(element, fn){ } function eachAttribute(element, fn){ - var i, attrs = element[0].attributes || [], chld, attr, attrValue = {}; + var i, attrs = element[0].attributes || [], chld, attr, name, value, attrValue = {}; for (i = 0; i < attrs.length; i++) { attr = attrs[i]; - attrValue[attr.name] = attr.value; + name = attr.name; + value = attr.value; + if (msie && name == 'href') { + value = decodeURIComponent(element[0].getAttribute(name, 2)); + } + attrValue[name] = value; } foreachSorted(attrValue, fn); } diff --git a/src/jqLite.js b/src/jqLite.js index 53f52215..2d41a25c 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -29,7 +29,10 @@ function jqClearData(element) { removeEventListener(element, type, fn); }); delete jqCache[cacheId]; - delete element[jqName]; + if (msie) + element[jqName] = ''; // ie does not allow deletion of attributes on elements. + else + delete element[jqName]; } } diff --git a/src/markups.js b/src/markups.js index 4207d83f..e9c03217 100644 --- a/src/markups.js +++ b/src/markups.js @@ -43,6 +43,12 @@ angularTextMarkup('{{}}', function(text, textNode, parentElement) { } else { newElement = self.text(text); } + if (msie && text.charAt(0) == ' ') { + newElement = jqLite(' '); + var nbsp = newElement.html(); + newElement.text(text.substr(1)); + newElement.html(nbsp + newElement.html()); + } cursor.after(newElement); cursor = newElement; }); -- cgit v1.2.3