cómo imprimir el valor de la variable en jquery bucle for

$(document).ready(function(){
  $('#show').click(function(){
    var totrows= $('#table').attr('rows').length;
    for(i=0; i < totrows; i++){
      //var rowid = $('#table').$(this).attr('i'); 
      alert(rowid);
    }
  });
});

En La función anterior, cuando hacemos clic en el enlace «Mostrar» estamos obtener el número de filas de la «tabla1″.Quiero añadir el Valor de » i » a la mesa de manera que se convierte en «tabla1″»tabla2″»tabla3″»table4″»table5».La línea de comentarios me está dando error

  • Puedes publicar el código HTML que tiene…y lo que desea que el resultado ser? Iba a hacer la pregunta/intención mucho más clara.
  • Quiero añadir el valor de » i » en la forloop a la ‘tabla’
  • Sólo la variable, o desea colocar el texto en la mesa, por ejemplo, en la creación de elementos?
  • quiere meter el valor
  • quiero añadir el valor de la variable ‘i’ a la mesa .Por lo que se convierte en ‘tabla1’, ‘tabla2’
  • Estás siendo muy claro aquí…puedes publicar el HTML y el resultado esperado? Si lo que desea es una cadena, es simplemente var rowid = "table" + i; pero no estoy seguro de que es lo que está después.

InformationsquelleAutor Someone | 2010-07-17

3 Kommentare

  1. 1

    Siguiente es el código real que está libre de errores, voy a tratar de explicar las probabilidades en su programa, que puede ayudar en el futuro de la codificación.

     $(document).ready(function(){
      $('#show').click(function(){
        var totrows= $('#table').attr('rows').length;
        for(i=0; i < totrows; i++){
          //var rowid = $('#table').$(this).attr('i'); 
          alert(rowid);
        }
      });
    });

    El Código Anterior no está escrita en forma correcta, porque

    1) var totrows= $('#table').attr('rows').length;

    ¿hay algún atributo(o especificada) por nombre ‘filas‘ en su tabla elemento ?? y ¿por qué u preocuparse de la longitud de un attribue ?

    2) en segundo lugar, cuando se utiliza this asegúrese de que el elemento que se va a referir. En su código,

       $('#show').click(function(){
          var totrows= $('#table').attr('rows').length;
           for(i=0; i < totrows; i++){
              //var rowid = $('#table').$(this).attr('i'); 
               alert(rowid);
            }
       });
    
        
    //var rowid = $('#table').$(this).attr('i');

    La línea anterior(comentado) no es Válido, debe ser algo como $(this).attr('myAttr'); y por otra parte, se está refiriendo a $('#show') ( this debe referirse a tr elementos si vas a hacer algunas cosas con tr elementos

    3)

    for(i=0; i < totrows; i++){
          //var rowid = $('#table').$(this).attr('i'); 
          alert(rowid);
        }

    En el para bucle i es una variable de contador y no un atributo

    4) Última cosa que hacer buen uso de jQuery API , jQuery.com está ofreciendo de forma gratuita 🙂

    editar :
    si quieres que el código para usted, me gustaría hacer algo como lo siguiente

    $(document).ready(function() {
        $('#show').click(function() {
          $('#table tr').each(function(i) {
             alert('table' + (i+1));
          });
        });
    });

    En .each() función le pasamos un Índice y un Elemento como parámetros como

    $(selector).each(function(Index,Element){ //do some thing });

    Por defecto, el Index se inicializa con 0, así que si usted desea obtener su resultado final como {table1,table2...} acaba de añadir el valor de Index después de incremento por 1

    para obtener más Información, consulte jquery sitio web para .cada() como nick dijo.

  2. 0

    No estoy seguro de la intención general, pero tendría un aspecto como este:

    $(document).ready(function(){
      $('#show').click(function(){
        var totrows= $('#table').attr('rows').length;
        for(i=0; i < totrows; i++){
          var rowid = 'table' + (i+1); 
          alert(rowid);
        }
      });
    });

    Esta alerta «tabla1», «tabla2», etc…uno para cada longitud de .rows i comienza a 0 por lo que necesita para añadir 1 a ella. Si desea que se basa en el número de <tr> elementos en lugar de un atributo, puede utilizar .cada(), como este:

    $(function(){ //short for $(document).ready(function() {
      $('#show').click(function(){
        $('#table tr').each(function(i) {
          var rowid = 'table' + (i+1); 
          alert(rowid);
        });
      });
    });
  3. 0

    Creo desea insertar índice en cada fila o algo como esto por ejemplo,

    $(document).ready(function(){
      $('#show').click(function(){
    
        $('#mytable').find("td").each(function(i,el){
    
          $(el).text($(el).text()+i)
    
        });
      });
    });​

    Funciona en html siguiente

     <input type="button" id="show" value="Show">
    
     <table id="mytable">
       <tr><td>row</td></tr>
       <tr><td>row</td></tr>
       <tr><td>row</td></tr>
       <tr><td>row</td></tr>
     </table>

    Usted puede probar esto aquí http://jsbin.com/apeto3

    • Has visto a la salida de su código cuando usted haga clic en show botón más de al, el resultado que obtuve después de hacer clic dos veces es el `Índice’ es añadiendo al texto anterior. checkout !!!
    • Jack , sí que es de lo que se hizo para hacer, lo que demuestra cómo el texto puede ser modificado en volar, como yo no soy exactamente claro qué quiere OP

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea