In Internet Explorer questa linea document.getElementById("left").getElementsByTagName("tbody")[0].innerHTML = document.getElementById("left").getElementsByTagName("tbody")[0].innerHTML + string;
mi sta dando una SCRIPT600: Invalid target element for this operation. …character 10
IE: non valido elemento di destinazione - aggiungendo tabella utilizzando innerHTML + stringa
La stringa è semplicemente quella che contiene un insieme di tablerows. Funziona bene con Chrome, Safari o Firefox. C'è un modo migliore per farlo? Quello che sto facendo è che quando l'utente raggiunge la fine della pagina, aggiungo i tablerows nella tabella per caricare più contenuti. È una specie di tipo AJAX a scorrimento infinito, richiesto dal cliente. Sto usando Javascript e preferirei rimanere con Javascript a questo punto e non passare a jQuery solo per questa attività.
Aggiornamento anche lo stesso con: document.getElementById("left").innerHTML = document.getElementById("left").innerHTML + string;
Inoltre, a sinistra è <table id="left">
Non è possibile impostare innerHTML di una tabella, sezione tabella o elemento riga tabella in IE. Puoi usare innerHTML per scrivere un'intera tabella o solo il contenuto di una cella. Usa i metodi DOM. PS. Le pagine Ajax "scrolling infinito" sono un odio per gli animali domestici dato che hanno gravi problemi di usabilità. – RobG
@RobG Penso che quello che stai suggerendo (le tue prime due frasi sembrano essere in conflitto) è quello che ho appena provato: riscrivere l'intera tabella con innerHTML. In secondo luogo, credo che sto usando i metodi DOM. Stai dicendo che devo creare le righe aggiuntive tramite il DOM e non una stringa? Finalmente lo scrolling infinito è richiesto dal cliente. – michaellindahl
@RobG bene Ho tentato di scrivere il codice tutto in DOM ma 'newLink.onclick = function() {toggleVote()};' non voleva ascoltarmi. @KernelJames ha un'ottima soluzione. Sei d'accordo? – michaellindahl