2014-05-15 15 views
7

Im 'avere problemi con JQuery e Internet Explore (IE). Il mio metodo per l'aggiunta di file non sembra funzionare in IE (Chrome & Firefox non pongono alcun problema)Jquery - Aggiungi nuova riga alla tabella (versione amichevole di IE)

Immaginate seguente tabella

<table border="1"> 
    <tr> 
     <td><button class="btn">btn1a</button></td> 
     <td><button class="btn">btn1b</button></td> 
     <td>zever</td> 
     <td>zeverin pakskes</td> 
    </tr> 
    <tr> 
     <td><button class="btn">btn2a</button></td> 
     <td><button class="btn">btn2b</button></td> 
     <td>zever</td> 
     <td>zeverin pakskes</td> 
    </tr> 
    </table> 

per aggiungere righe (quando l'utente fa clic su un pulsante '') i eseguire il seguente metodo

$(document).ready(function(){ 
    $('.btn').on('click',function(){ 
     var parentrow = $(this).parent().parent(); 
     parentrow.after('<tr ><td colspan="4">Dit is een colspan rij</td></tr>'); 
    }); 
}); 

domanda: Come posso modificare il mio metodo in modo che funziona in IE troppo? (ad esempio la riga viene aggiunta)?

Nota: sto usando il seguente JQuery - biblioteca

<script src="https://code.jquery.com/jquery.js"></script> 
+0

Ciao a tutti questa domanda per un errore di battitura –

+0

@ user3127499 Meglio una domanda elaborata per un errore di battitura, piuttosto che una cattiva! – nietonfir

+0

@nietonfir si, ma le mie esperienze mi hanno insegnato altri saggi –

risposta

2

Rimuovere lo spazio traling nel tag di apertura <tr>, IE non piace HTML non valido (non è uno scherzo !!). ;-)

parentrow.after('<tr><td colspan="4">Dit is een colspan rij</td></tr>'); 
+2

Oh dio! Penso che sbatterò la testa contro il muro per un po 'di tempo :). La tua soluzione era giusta. Non ero a conoscenza del fatto che IE potesse comportarsi così difficile per una stupida distanza. – User999999

2

Ho anche imbattuto lo stesso problema qualche mese fa e ha seguito l'approccio seguito

Creare gli elementi come elementi separati invece:

parent.after($('<tr/>').append($('<td colspan="4" />').text('Dit is een colspan rij'))); 
+0

Bel pezzo di codice lì! :) Domanda: Invece di inserire testo normale, potrei inserire anche Html (usando il .text())? – User999999

+0

Che non funziona nelle versioni precedenti di IE iirc. A IE non piacciono ironicamente gli elementi di chiusura automatica durante la creazione. – nietonfir

+0

Oh bello! Conosco solo la funzione per testarlo! – User999999

Problemi correlati