Fixing getting/setting classes and makeArray(RegExp) for Blackberry 4.7. Fixes #6930, #6931.

This commit is contained in:
John Resig 2010-08-23 12:38:55 -07:00
parent 6f031c1015
commit 396dd21273
3 changed files with 33 additions and 18 deletions

View file

@ -278,7 +278,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 ) {

View file

@ -594,7 +594,8 @@ jQuery.extend({
// The window, strings (and functions) also have 'length'
// The extra typeof function check is to prevent crashes
// in Safari 2 (See: #3039)
if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || (typeof array !== "function" && array.setInterval) ) {
// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || typeof array === "function" || typeof array.setInterval !== "undefined" ) {
push.call( ret, array );
} else {
jQuery.merge( ret, array );