计算表中的行数(如果行是在 DOM 加载后创建的)

To count number of rows in a table if the rows were created after the DOM loaded

本文关键字:加载 DOM 创建 如果 计算      更新时间:2023-09-26

我在加载 DOM 后创建行,但我想知道如何计算行数以消除最后一个。

我有这个。

<script type="text/javascript">//Procesamiento del formulario.
    $(document).ready(function(){
        var cuentaTr = $('#elementos >tbody >tr').length - 1; //Cuenta el número de filas que tiene la tabla originalmente, es 1.
        $('#agregar').click(function(){ //Clic en el botón que agrega nueva fila.
            cuentaTr++; //Es el número de fila que le corresponde a cada una que se crea.
            var nume = $('#elementos >tbody >tr >td').length; //Obtener el número de celdas
            var capa = document.getElementById("elementos"); //Obtener el elemento con el id elementos
            var tr = ("tr"); //Crear una tag tr
            capa.appendChild(tr); //Agregar la tag al elemento con id elementos.
            var nuevaLetra = "A"; //La variable con la que se le asigna una letra a cada columna.
            for (var i = 1; i <= nume; i++) {
                    $('<td><input type="text" class="prueba" id="'+nuevaLetra+cuentaTr+'" name="columna'+nuevaLetra+cuentaTr+'" required/></td>').appendTo('#elementos'); //Creación de nuevo input. THIS IS THE IMPORTANT!
                    var ASCII = nuevaLetra.charCodeAt(); //Obtener código ASCII
                    var aumento = ((ASCII+1 >= 65 && ASCII+1 <= 90) || (ASCII+1 >= 97 && ASCII+1 <= 122)) ? ASCII+1 : ASCII; //Incremenar la letra
                    var nuevaLetra = String.fromCharCode(aumento); //Tranformar el código a letra.
            };

            if (cuentaTr == 2){
                $('<button type="button" id="eliminame">-</button>').insertAfter('#agregar'); //Creación del botón de eliminación de filas
                };
            });
        $(document).on('click', '#eliminame', function(){ //Función que elimina las filas HERE IS MY DUDE.  
            $('#elementos tbody tr:last').remove(); //I WANT TO REMOVE THE LAST ROW. THIS CODE ELIMINATE ONLY THE ROWS CREATE WHEN DOM LOADED.
            cuentaTr--;
            if (cuentaTr == 1) {
                $(this).remove();
            };
            });

        });

 </script>

我能做什么?

谢谢!对不起我的英语。我英语说得不好。

看起来如何将tr附加到表中存在一些问题,请尝试

 $(document).ready(function () {
     var cuentaTr = $('#elementos >tbody >tr').length - 1; //Cuenta el número de filas que tiene la tabla originalmente, es 1.
     $('#agregar').click(function () { //Clic en el botón que agrega nueva fila.
         cuentaTr++; //Es el número de fila que le corresponde a cada una que se crea.
         var nume = $('#elementos >tbody >tr:first >td').length; //Obtener el número de celdas
         var capa = $("#elementos"); //Obtener el elemento con el id elementos
         var tr =  $('#tr').appendChild(tr); //Agregar la tag al elemento con id elementos.
         var nuevaLetra = "A"; //La variable con la que se le asigna una letra a cada columna.
         for (var i = 1; i <= nume; i++) {
             $('<td><input type="text" class="prueba" id="' + nuevaLetra + cuentaTr + '" name="columna' + nuevaLetra + cuentaTr + '" required/></td>').appendTo(tr); //Creación de nuevo input. THIS IS THE IMPORTANT!
             var ASCII = nuevaLetra.charCodeAt(); //Obtener código ASCII
             var aumento = ((ASCII + 1 >= 65 && ASCII + 1 <= 90) || (ASCII + 1 >= 97 && ASCII + 1 <= 122)) ? ASCII + 1 : ASCII; //Incremenar la letra
             var nuevaLetra = String.fromCharCode(aumento); //Tranformar el código a letra.
         };

         if (cuentaTr == 2) {
             $('<button type="button" id="eliminame">-</button>').insertAfter('#agregar'); //Creación del botón de eliminación de filas
         };
     });
     $(document).on('click', '#eliminame', function () { //Función que elimina las filas HERE IS MY DUDE.  
         $('#elementos tbody tr:last').remove(); //I WANT TO REMOVE THE LAST ROW. THIS CODE ELIMINATE ONLY THE ROWS CREATE WHEN DOM LOADED.
         cuentaTr--;
         if (cuentaTr == 1) {
             $(this).remove();
         };
     });

 });

var cuentaTr = $('#elementos >tbody >tr').length - 1;(已经在您的代码中)应该为您提供行数(减去一)。也许做一个jsfiddle,这样我们就可以调试发生了什么?