Probé el siguiente código para entender cómo puedo obtener 0 si el valor no está definido.
Esto a continuación es mi intento de entender, pero recibo el mismo error que se describe a continuación.
var tbl = $("#tableOccupation")[0] != 'undefined' ? $("#tableOccupation")[0] : 0; alert(tbl.rows.length);que si no está indefinido,
devuelve 0 ; de lo contrario, devuelve lo que sea la longitud de rows.length
eso está por encima de mi intento, pero aún se muestra
Uncaught TypeError: tbl is undefined
Tu error proviene de esto:
var tbl = $("#tableOccupation")[0] != 'undefined' ? $("#tableOccupation")[0] : 0; Debe verificar si no está undefined como este (eliminando las comillas que rodean a undefined )
var tbl = $("#tableOccupation")[0] != undefined ? $("#tableOccupation")[0] : 0; undefined es un tipo, no una cadena:
console.log(undefined == 'undefined') // Prints false Una solución más limpia sería simplemente verificar si no está undefined como este:
let tbl = $("#tableOccupation")[0]; if (tbl) { alert(tbl.rows.length); }Dado que la colección de rows en un elemento de tabla HTML se refiere a cada tr dentro de esa tabla, puede hacer esto:
let $tbl = $("#tableOccupation"); let numberOfRows = $tbl.find('tr').length; console.log(numberOfRows);