Buenas tardes, a continuación se muestra el código en el que obtengo campos de mi tabla. El campo 0 contiene una casilla de verificación, ¿cómo puedo saber si está marcada o no (verdadero o falso)? Debe cambiar esta línea: console.log (td.item (f));
var table = document.getElementsByClassName("table-sm"); for (var i = 0; i < table.length; i++) { var tr = table.item(i).getElementsByTagName("tr"); for (var j = 0; j < tr.length; j++) { var trr = tr.item(j); var td = tr.item(j).getElementsByTagName("td"); for (var f = 0; f < td.length; f++) { if (f === 0) console.log(td.item(f)); console.log(td.item(f).innerText); } } }En primer lugar, aprenda que JavaScript Table API es mucho mejor que simplemente hacer bucles for complejos.
La próxima vez, agregue el código completo (HTML/JavaScript) para que la gente pueda ayudarlo.
Ahora arreglemos tu código.
<table class="table-sm" id="myTable"> <thead> <tr> <th>Checkbox</th> <th>ID</th> <th>Name</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" name="selected[]" checked /></td> <td>1</td> <td>Mohammed</td> </tr> <tr> <td><input type="checkbox" name="selected[]" /></td> <td>2</td> <td>Ali</td> </tr> </tbody> </table>y queremos obtener el primer elemento de cada fila y verificar si la casilla de verificación está marcada o no.
var table = document.getElementById("myTable");Uso Array.from() para convertir HTMLCollection en una matriz normal, por lo que puedo usar las API de matriz (como .forEach).
var rows = Array.from(table.rows); rows.map((row) => { var cells = Array.from(row.cells); // TODO add logic here. });firstChild de la primera celda. rows.map((row) => { var cells = Array.from(row.cells); if (Array.isArray(cells) && cells.length > 0) { var firstChild = cells[0].firstChild; console.log(firstChild.checked); } });