2014-05-15 9 views
7

Ich habe Probleme mit JQuery und Internet Explorer (IE). Meine Methode Zeilen für das Hinzufügen scheint nichtJquery - Neue Zeile zur Tabelle hinzufügen (IE-freundliche Version)

<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> 

in IE (Chrome & Firefox kein Problem)

Stellen Sie sich vor folgenden Tabelle zu arbeiten Um Zeilen hinzufügen (wenn der Benutzer eine ‚Taste‘ klickt) i führen sie das folgende Verfahren

$(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>'); 
    }); 
}); 

Frage: Wie kann ich meine Methode zu ändern, so dass es auch in IE funktioniert? (z. B. die Zeile wird hinzugefügt)?

Hinweis: ich die folgende JQuery bin mit - Bibliothek

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

hey all diese Frage für einen Tippfehler –

+0

@ user3127499 Besser eine ausführliche Frage für einen Tippfehler, als eine schlechte! – nietonfir

+0

@nietonfir yep aber meine Erfahrungen lehrten mich andere weise –

Antwort

2

Entfernen Sie den traling Platz in Ihrer Öffnung <tr>-Tag, wird IE nicht ungültig HTML mag (kein Witz !!). ;-)

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

Oh Gott! Ich denke, ich werde meinen Kopf für einige Zeit gegen die Wand schlagen. Deine Lösung war richtig. Ich war mir nicht bewusst, dass IE über einen dummen Abstand so schwierig sein könnte. – User999999

2

Ich kam auch vor einigen Monaten über das gleiche Problem und folgte dem folgenden Ansatz

die Elemente als separate Elemente erstellen statt:

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

Schönes Stück Code dort! :) Frage: Kann ich anstelle von reinem Text auch HTML einfügen (mit der .text())? – User999999

+0

Das funktioniert nicht in älteren IE-Versionen. IE mag selbstschließende Elemente bei der Erstellung nicht ironisch. – nietonfir

+0

Oh schön! Ich kenne nur die Funktion, das zu testen! – User999999

Verwandte Themen