From fe392e6a741a97edf1208d341d884f8f6bcf0739 Mon Sep 17 00:00:00 2001 From: John Resig Date: Thu, 17 Aug 2006 03:08:13 +0000 Subject: [PATCH] A bunch of fixes for thead/tbody related bugs. --- src/jquery/jquery.js | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index da0e582..470dbde 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -726,7 +726,7 @@ jQuery.fn = jQuery.prototype = { return this.each(function(){ var obj = this; - if ( table && this.nodeName == "TABLE" ) { + if ( table && this.nodeName == "TABLE" && a[0].nodeName != "THEAD" ) { var tbody = this.getElementsByTagName("tbody"); if ( !tbody.length ) { @@ -958,30 +958,36 @@ jQuery.extend({ var r = []; for ( var i = 0; i < a.length; i++ ) { if ( a[i].constructor == String ) { + + var table = ""; - if ( !a[i].indexOf(""; + } else if ( !a[i].indexOf(""; } else if ( !a[i].indexOf(""; } var div = document.createElement("div"); div.innerHTML = a[i]; - if ( tr || td ) { - div = div.firstChild.firstChild; - if ( td ) div = div.firstChild; + if ( table ) { + div = div.firstChild; + if ( table != "thead" ) div = div.firstChild; + if ( table == "td" ) div = div.firstChild; } for ( var j = 0; j < div.childNodes.length; j++ ) r.push( div.childNodes[j] ); - } else if ( a[i].jquery || a[i].length && !a[i].nodeType ) - for ( var k = 0; k < a[i].length; k++ ) - r.push( a[i][k] ); - else if ( a[i] !== null ) - r.push( a[i].nodeType ? a[i] : document.createTextNode(a[i].toString()) ); + } else if ( a[i].jquery || a[i].length && !a[i].nodeType ) + for ( var k = 0; k < a[i].length; k++ ) + r.push( a[i][k] ); + else if ( a[i] !== null ) + r.push( a[i].nodeType ? a[i] : document.createTextNode(a[i].toString()) ); } return r; }, -- 1.7.10.4