jQuery each loop in table row [duplicar]
Posible Duplicado:
¿Cómo iterar filas de tabla con jQuery y acceder a algunos valores de celda?
Estoy teniendo algo como:
<table id="tblOne">
<tbody>
<tr>
<td>
<table id="tblTwo">
<tbody>
<tr>
<td>
Items
</td>
</tr>
<tr>
<td>
Prod
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
Item 1
</td>
</tr>
<tr>
<td>
Item 2
</td>
</tr>
</tbody>
</table>
He escrito jQuery para recorrer cada tr como:
$('#tblOne tr').each(function() {...code...});
Pero el problema es que gira a través de la "tr" de "tblTwo" también que no quiero. ¿Alguien puede sugerir algo para resolver esto?
3 answers
En jQuery simplemente use
$('#tblOne > tbody > tr').each(function() {...code...});
Usando el selector directo de hijos (>
) caminarás sobre descendientes inmediatos (y no todos descendientes)
En VanillaJS puedes usar document.querySelectorAll()
y caminar sobre las filas usando forEach()
[].forEach.call(document.querySelectorAll('#tblOne > tbody > tr'), function(tr) {
/* console.log(tr); */
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-13 12:29:05
Solo una recomendación:
Recomiendo usar la implementación de la tabla DOM, es muy sencilla y fácil de usar, realmente no necesita jQuery para esta tarea.
var table = document.getElementById('tblOne');
var rowLength = table.rows.length;
for(var i=0; i<rowLength; i+=1){
var row = table.rows[i];
//your code goes here, looping over every row.
//cells are accessed as easy
var cellLength = row.cells.length;
for(var y=0; y<cellLength; y+=1){
var cell = row.cells[y];
//do something with every cell here
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-20 20:22:24
Use selector secundario inmediato >
:
$('#tblOne > tbody > tr')
Descripción: Selecciona todos los elementos secundarios directos especificados por "hijo" de elementos especificados por "padre".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-03 13:07:02