Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    jquery e Utilizzo della funzione append()

    Salve,
    ho il seguente codice html:

    codice:
    <tr id="tr424" class="ascend">
    	<td class="rank">2</td>		
    	<td class="team">link</td>
    	<td class="pts">42</td>
    	<td class="num">19</td>
    </tr>
    Vorrei inserire un'altra cella subito dopo quando si clicca il link, avendo così questo codice finale:

    codice:
    <tr id="tr424" class="ascend">
    	<td class="rank">2</td>		
    	<td class="team">link</td>
    	<td class="pts">42</td>
    	<td class="num">19</td>
    </tr>
    <tr>
    <td colspan="4">PROVA</td>
    </tr>
    Questo è il codice che ho scritto ma non riesco a risolvere il problema:



    codice:
    <script type="text/javascript"> 
    
    $(document).ready(function() {
    
        $('.team a').on('click', function() { 
             var p = $(this).parent();
    $(p).append('<tr><td colspan="4">PROVA</td></tr>');
                return false;            
         });  
     }); 
    
    
    </script>

    Spero che qualcuno di voi possa aiutarmi.
    Grazie! e BUON ANNO A TUTTI in anticipo

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    p non è un oggetto ma una variabile prova così
    codice:
    <script type="text/javascript"> 
    
    $(document).ready(function() {
    
        $('.team a').on('click', function() { 
             var p = $(this).parent();
    p.append('<tr><td colspan="4">PROVA</td></tr>');
         });  
     }); 
    </script>


    P.S. Consiglio, meglio sempre monitorare con la console aperta le modifiche generate da jquery che avvengono nel documento oltre a capire se l'operazione va vene vedi se ci sono errori di sintassi
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Lo script non funziona anche perchè il "parent" del "this" (.team a) è il tag "td" e non il tag "table", quindi lo script diventa:
    codice:
    <script type="text/javascript"> 
    $(document).ready(function() {
        $('.team a').on('click', function() { 
             var td = $(this).parent();
             var tr=td.parent();
             var table=tr.parent();
             table.append('<tr><td colspan="4">PROVA</td></tr>');
         });  
     }); 
    </script>
    oppure in una forma più sintetica:
    codice:
    <script type="text/javascript"> 
    $(document).ready(function() {
        $('.team a').on('click', function() { 
             var table = $(this).parent().parent().parent();
             table.append('<tr><td colspan="4">PROVA</td></tr>');
         });  
     }); 
    </script>
    Ciao.

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    ma var
    codice:
    p = $(this).parent();
    non ottiene un riferimento alla cella (td) ?

  5. #5
    si esatto! E invece io vorrei che lo scrivesse dopo il </tr>
    Purtroppo nessuno di queste soluzioni mi è stato di aiuto :/

    Ho appena risolto così:

    codice:
      $('.team a').on('click', function() { 
             var p = $(this).parent().parent();
             p.after('<tr><td colspan="4">PROVA</td></tr>');
             return false;
                
         });
    finalmente ci sono riuscito

  6. #6
    Adesso ho un nuovo problema, come faccio ad avere un effetto "toggle"?
    Cioè vorrei che al click del link si vede e poi scompare al secondo click. -.-"

  7. #7
    Risolto anche questo problema... spero possa essere di aiuto per chi ne dovesse avere bisogno.

    codice:
    <script type="text/javascript"> 
    
    $(document).ready(function() {
    
        $('.team a').on('click', function(e) {
             e.preventDefault(); 
             var p = $(this).parent().parent();
             var tr_id = 'team_info_'+p.attr('id');
             var tr_class = p.attr('class');
             if ($('#'+tr_id).length) {
             $('#'+tr_id).fadeToggle("slow", "linear");
             } else {
             p.after('<tr id="'+tr_id+'" class="'+tr_class+'"><td colspan="4">PROVA</td></tr>');
                return false;
            }
                
         });  
     }); 
    
    
    </script>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.