X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fcore.js;h=9222e0a12acc5e6fae488aafe401d054b81cb72f;hb=ebd9205fdb7f14b98301c4c183e9d6a51420ad0e;hp=4eab2cde416caf3d29427528b094db8fd2892bfc;hpb=192d6cd4a30bef497f72b1ca9b62fd8b90ade806;p=jquery.git diff --git a/src/core.js b/src/core.js index 4eab2cd..9222e0a 100644 --- a/src/core.js +++ b/src/core.js @@ -475,11 +475,11 @@ jQuery.fn = jQuery.prototype = { domManip: function( args, table, callback ) { if ( this[0] ) { - var fragment = this[0].ownerDocument.createDocumentFragment(), - scripts = jQuery.clean( args, this[0].ownerDocument, fragment ), + var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(), + scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ), first = fragment.firstChild, extra = this.length > 1 ? fragment.cloneNode(true) : fragment; - + if ( first ) for ( var i = 0, l = this.length; i < l; i++ ) callback.call( root(this[i], first), i > 0 ? extra.cloneNode(true) : fragment ); @@ -970,6 +970,13 @@ jQuery.extend({ if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) return elem.getAttributeNode( name ).nodeValue; + // elem.tabindex doesn't always return the correct value + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name == jQuery.props.tabindex ) { + var attributeNode = elem.getAttributeNode(jQuery.props.tabindex); + return attributeNode && attributeNode.specified && attributeNode.value || undefined; + } + return elem[ name ]; }