X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fattributes.js;h=d2fc202b2fb7b50fd1d33be4bc9163b3bc84e0aa;hb=392174431af1c9abc94ab6bd1c14f9f8f92a2a7d;hp=4f7055a6e4f570cd388bbb461286ef34de6c86a3;hpb=437ddb931df29c0b46ffb893165e15f159963085;p=jquery.git diff --git a/src/attributes.js b/src/attributes.js index 4f7055a..d2fc202 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -9,7 +9,7 @@ var rclass = /[\n\t]/g, jQuery.fn.extend({ attr: function( name, value ) { - return access( this, name, value, true, jQuery.attr ); + return jQuery.access( this, name, value, true, jQuery.attr ); }, removeAttr: function( name, fn ) { @@ -139,7 +139,10 @@ jQuery.fn.extend({ if ( elem ) { if ( jQuery.nodeName( elem, "option" ) ) { - return (elem.attributes.value || {}).specified ? elem.value : elem.text; + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; } // We need to handle select boxes special @@ -278,7 +281,8 @@ jQuery.extend({ } // If applicable, access the attribute via the DOM 0 way - if ( name in elem && notxml && !special ) { + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { if ( set ) { // We can't allow the type property to be changed (since it causes problems in IE) if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {