appendChild nei vecchi browser IE
-
06-07-2019 - |
Domanda
Sto cercando di creare un nuovo elemento nel mio codice javascript e aggiungerlo a uno dei miei elementi. Ma sembra che i vecchi browser IE non supportino questa funzione e il mio codice si interrompe sulla linea in cui utilizzo la funzione appendChild.
var child = document.createElement('span');
child.innerHTML = "Hello World!"; // Crashes here
parent.appendChild(child); // And here
Esistono alternative che posso usare per IE?
Grazie.
P.S il codice funziona bene nei browser moderni.
UPD: Il codice seguente risolve l'ultima parte del mio problema, posso aggiungere un figlio vuoto a un genitore:
var child = document.createElement('span');
if (parent.insertAdjacentElement){
parent.insertAdjacentElement('beforeEnd', child);
}
else if (parent.appendChild) {
parent.appendChild(child);
}
Ma devo ancora inserire alcuni dati all'interno dell'elemento figlio. createTextNode
, innerHTML
, setAttributes
non funzionano.
Soluzione
Potrebbe non essere correlato, ma controlla questo link per sapere qualcun altro ha risolto questo problema
Modifica: e questo link troppo
Altri suggerimenti
Mi sembra che si blocchi sulla seconda riga. innerHTML è scritto con una i minuscola, non maiuscola. Potrebbe anche essere la tua prima riga in quanto c'è un errore di battitura, ma presumo che sia solo nella domanda.
Questo risolve il problema?
var child = document.createElement('span');
child.appendChild(document.createTextNode("Hello World!"));
parent.appendChild(child);
parent.innerHTML
sembra funzionare bene.