diff options
| author | Igor Minar | 2011-09-15 21:11:45 +0200 | 
|---|---|---|
| committer | Igor Minar | 2011-09-16 02:44:28 +0200 | 
| commit | 8259f101389afc1b5b1f044b2b07bf6f8f44fc83 (patch) | |
| tree | d1b4e12ce74d41ea34ec71523c1c677e8c4ecaa9 /src/jqLite.js | |
| parent | ab407de54d04133e2089086d6c574592c8a19ffc (diff) | |
| download | angular.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.js | 10 | 
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); | 
