2012-10-08 9 views
5

¿Cómo agrego <thead> y <tbody> usando jquery?jquery agregar <thead> y agregar <tbody>

el problema es que mi mesa tiene 1 o 2ª fila?

$('#myTable tr:has(th)').wrap('<thead></thead>'); 

<table id="myTable"> 

<tr><th>1</th><th>2</th><th>3</th><th>4</th></tr> 
<tr><th>1</th><th>2</th><th>3</th><th>4</th></tr> 

<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 



</table> 
+2

un [encabezado de la tabla] (http://www.w3.org/wiki/HTML/Elements/th) generalmente tiene un 'thead' elemento como hermano de 'tbody', no múltiples cabezas dentro de una fila. – jbabey

+0

@jbabey no todos los navegadores añaden un elemento thead. Ellos sí agregan un tbody. – epascarello

Respuesta

13

Lo que hay que hacer es quitar las filas y los añade a un elemento de la culata en T

var myTable = jQuery("#myTable"); 
var thead = myTable.find("thead"); 
var thRows = myTable.find("tr:has(th)"); 

if (thead.length===0){ //if there is no thead element, add one. 
    thead = jQuery("<thead></thead>").appendTo(myTable);  
} 

var copy = thRows.clone(true).appendTo("thead"); 
thRows.remove(); 

jsFiddle exmaple

5

uso wrapAll en lugar de envoltura

$('#myTable tr:has(th)').wrapAll('<thead></thead>');​ 
$("#myTable thead").prependTo("#myTable") 
+1

Esto es incorrecto. Se dará lugar a '' – epascarello

+1

[jsFiddle] (http://jsfiddle.net/q224z/) que muestra este se rompe y una solución incorrecta. – epascarello

+0

try wrapAll (''); – AlxVallejo

0
function createTable(data) { 
    var str = ""; 
    str += '<table><thead>'; 
    str += '<tr><td>Pos</td><td>Ref</td></tr></thead><tbody>'; 
    for (var item in data.recentList) { 
     str += '<tr>'; 
     for (idata in data.recentList[item]) { 
      str += '<td>' + data.recentList[item][idata] + '</td>'; 
     } 
     str += '</tr>'; 
    } 
    str += '</tbody></table>'; 
    $('body').append(str); 
} 

versión de trabajo que crea una tabla de una matriz

Cuestiones relacionadas