A bunch of fixes for thead/tbody related bugs.
This commit is contained in:
parent
ec38c6086c
commit
fe392e6a74
20
src/jquery/jquery.js
vendored
20
src/jquery/jquery.js
vendored
|
@ -726,7 +726,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
return this.each(function(){
|
return this.each(function(){
|
||||||
var obj = this;
|
var obj = this;
|
||||||
|
|
||||||
if ( table && this.nodeName == "TABLE" ) {
|
if ( table && this.nodeName == "TABLE" && a[0].nodeName != "THEAD" ) {
|
||||||
var tbody = this.getElementsByTagName("tbody");
|
var tbody = this.getElementsByTagName("tbody");
|
||||||
|
|
||||||
if ( !tbody.length ) {
|
if ( !tbody.length ) {
|
||||||
|
@ -959,20 +959,26 @@ jQuery.extend({
|
||||||
for ( var i = 0; i < a.length; i++ ) {
|
for ( var i = 0; i < a.length; i++ ) {
|
||||||
if ( a[i].constructor == String ) {
|
if ( a[i].constructor == String ) {
|
||||||
|
|
||||||
if ( !a[i].indexOf("<tr") ) {
|
var table = "";
|
||||||
var tr = true;
|
|
||||||
|
if ( !a[i].indexOf("<thead") || !a[i].indexOf("<tbody") ) {
|
||||||
|
table = "thead";
|
||||||
|
a[i] = "<table>" + a[i] + "</table>";
|
||||||
|
} else if ( !a[i].indexOf("<tr") ) {
|
||||||
|
table = "tr";
|
||||||
a[i] = "<table>" + a[i] + "</table>";
|
a[i] = "<table>" + a[i] + "</table>";
|
||||||
} else if ( !a[i].indexOf("<td") || !a[i].indexOf("<th") ) {
|
} else if ( !a[i].indexOf("<td") || !a[i].indexOf("<th") ) {
|
||||||
var td = true;
|
table = "td";
|
||||||
a[i] = "<table><tbody><tr>" + a[i] + "</tr></tbody></table>";
|
a[i] = "<table><tbody><tr>" + a[i] + "</tr></tbody></table>";
|
||||||
}
|
}
|
||||||
|
|
||||||
var div = document.createElement("div");
|
var div = document.createElement("div");
|
||||||
div.innerHTML = a[i];
|
div.innerHTML = a[i];
|
||||||
|
|
||||||
if ( tr || td ) {
|
if ( table ) {
|
||||||
div = div.firstChild.firstChild;
|
div = div.firstChild;
|
||||||
if ( td ) div = div.firstChild;
|
if ( table != "thead" ) div = div.firstChild;
|
||||||
|
if ( table == "td" ) div = div.firstChild;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( var j = 0; j < div.childNodes.length; j++ )
|
for ( var j = 0; j < div.childNodes.length; j++ )
|
||||||
|
|
Loading…
Reference in a new issue