Skip to content
Permalink
Browse files

Landing pull request 510. Add notes about #9699 fix.

  • Loading branch information...
rwaldron authored and timmywil committed Sep 19, 2011
2 parents e7a7cc8 + bc65f93 commit af1dc64bee90960f7898699c3788133177aff3bc
Showing with 11 additions and 10 deletions.
  1. +11 −10 src/attributes.js
@@ -19,11 +19,11 @@ jQuery.fn.extend({
jQuery.removeAttr( this, name );
});
},

prop: function( name, value ) {
return jQuery.access( this, name, value, true, jQuery.prop );
},

removeProp: function( name ) {
name = jQuery.propFix[ name ] || name;
return this.each(function() {
@@ -156,7 +156,7 @@ jQuery.fn.extend({
val: function( value ) {
var hooks, ret,
elem = this[0];

if ( !arguments.length ) {
if ( elem ) {
hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
@@ -167,9 +167,9 @@ jQuery.fn.extend({

ret = elem.value;

return typeof ret === "string" ?
return typeof ret === "string" ?
// handle most common string cases
ret.replace(rreturn, "") :
ret.replace(rreturn, "") :
// handle cases where value is null/undef or number
ret == null ? "" : ret;
}
@@ -290,15 +290,15 @@ jQuery.extend({
height: true,
offset: true
},

attrFix: {
// Always normalize to ensure hook usage
tabindex: "tabIndex"
},

attr: function( elem, name, value, pass ) {
var nType = elem.nodeType;

// don't get/set attributes on text, comment and attribute nodes
if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
return undefined;
@@ -367,6 +367,7 @@ jQuery.extend({
if ( elem.nodeType === 1 ) {
name = jQuery.attrFix[ name ] || name;

// See #9699 for explanation of this approach (setting first, then removal)
jQuery.attr( elem, name, "" );
elem.removeAttribute( name );

@@ -431,7 +432,7 @@ jQuery.extend({
frameborder: "frameBorder",
contenteditable: "contentEditable"
},

prop: function( elem, name, value ) {
var nType = elem.nodeType;

@@ -466,7 +467,7 @@ jQuery.extend({
}
}
},

propHooks: {
tabIndex: {
get: function( elem ) {

0 comments on commit af1dc64

Please sign in to comment.
You can’t perform that action at this time.