aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Minar2011-09-15 21:11:45 +0200
committerIgor Minar2011-09-16 02:44:28 +0200
commit8259f101389afc1b5b1f044b2b07bf6f8f44fc83 (patch)
treed1b4e12ce74d41ea34ec71523c1c677e8c4ecaa9
parentab407de54d04133e2089086d6c574592c8a19ffc (diff)
downloadangular.js-8259f101389afc1b5b1f044b2b07bf6f8f44fc83.tar.bz2
fix(jqLite): make attr() compatible with jQuery 1.6.4
The behavior of attr() getter and setter changed in jQuery 1.6 and now they treat element properties and attributes as two different things, but in order to not break everyone there is a partial backwards compatibility for checking and updating element properties as well. see http://api.jquery.com/prop/ for more info.
-rw-r--r--src/jqLite.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/jqLite.js b/src/jqLite.js
index af488abb..67b6137d 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -255,9 +255,15 @@ forEach({
attr: function(element, name, value){
if (SPECIAL_ATTR[name]) {
if (isDefined(value)) {
- element[name] = !!value;
+ if (!!value) {
+ element[name] = true;
+ element.setAttribute(name, name);
+ } else {
+ element[name] = false;
+ element.removeAttribute(name);
+ }
} else {
- return element[name];
+ return (element[name] || element.getAttribute(name)) ? name : undefined;
}
} else if (isDefined(value)) {
element.setAttribute(name, value);