git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Enforce that hasClass and removeClass work even with tabs and endlines in class attri...
[jquery.git]
/
src
/
attributes.js
diff --git
a/src/attributes.js
b/src/attributes.js
index
fb5b16b
..
17c18c9
100644
(file)
--- 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);
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 ) {
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] + " ", " ");
}
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++ ) {
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;
}
}
return true;
}
}
@@
-163,8
+165,8
@@
jQuery.fn.extend({
jQuery.each({
removeAttr: function( name ) {
jQuery.each({
removeAttr: function( name ) {
- jQuery.attr( this, name, "" );
- if (this.nodeType == 1) {
+ if ( this.nodeType === 1 ) {
+ this[ jQuery.isXMLDoc( this ) ? name : jQuery.props[ name ] || name ] = null;
this.removeAttribute( name );
}
},
this.removeAttribute( name );
}
},
@@
-211,7
+213,8
@@
jQuery.extend({
data: true,
width: true,
height: true,
data: true,
width: true,
height: true,
- offset: true
+ offset: true,
+ bind: true
},
attr: function( elem, name, value ) {
},
attr: function( elem, name, value ) {
@@
-220,7
+223,7
@@
jQuery.extend({
return undefined;
}
return undefined;
}
- if ( name in jQuery.attrFn ) {
+ if ( name in jQuery.attrFn && value !== undefined ) {
return jQuery(elem)[name](value);
}
return jQuery(elem)[name](value);
}