aboutsummaryrefslogtreecommitdiffstats
path: root/src/jqLite.js
diff options
context:
space:
mode:
authorIgor Minar2011-09-15 21:11:45 +0200
committerIgor Minar2011-09-16 02:44:28 +0200
commit8259f101389afc1b5b1f044b2b07bf6f8f44fc83 (patch)
treed1b4e12ce74d41ea34ec71523c1c677e8c4ecaa9 /src/jqLite.js
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.
Diffstat (limited to 'src/jqLite.js')
-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);