diff options
author | Batiste Bieler <batiste.bieler@gmail.com> | 2009-12-14 16:24:28 -0500 |
---|---|---|
committer | jeresig <jeresig@gmail.com> | 2009-12-14 16:24:28 -0500 |
commit | 649024909d376032e6e9c41f209182d584e51043 (patch) | |
tree | a3a19bbcb5ccd28f056fd13947e9a86473c49e0f /src | |
parent | b4b30cc6837dc5480f3d1a3da0cb9fe12dfc9b72 (diff) | |
download | jquery-649024909d376032e6e9c41f209182d584e51043.tar.gz jquery-649024909d376032e6e9c41f209182d584e51043.zip |
Enforce that hasClass and removeClass work even with tabs and endlines in class attributes. Fixes #5505.
Diffstat (limited to 'src')
-rw-r--r-- | src/attributes.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/attributes.js b/src/attributes.js index 0b6d21ec1..17c18c9bf 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -1,3 +1,5 @@ +var rclass = /[\n\t]/g; + jQuery.fn.extend({ attr: function( name, value ) { return access(this, name, value, true, jQuery.attr); @@ -49,7 +51,7 @@ jQuery.fn.extend({ if ( elem.nodeType === 1 && elem.className ) { if ( value ) { - var className = " " + elem.className + " "; + var className = (" " + elem.className + " ").replace(rclass, " "); for ( var c = 0, cl = classNames.length; c < cl; c++ ) { className = className.replace(" " + classNames[c] + " ", " "); } @@ -67,7 +69,7 @@ jQuery.fn.extend({ hasClass: function( selector ) { var className = " " + selector + " "; for ( var i = 0, l = this.length; i < l; i++ ) { - if ( (" " + this[i].className + " ").indexOf( className ) > -1 ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { return true; } } |