Pergunta

Eu estou tentando criar um novo elemento no meu código javascript e anexá-lo a um dos meus elementos. Mas parece que velhos navegadores IE não suportam esta função e as minhas pausas de código na linha onde eu usar a função appendChild.

var child = document.createElement('span');
child.innerHTML = "Hello World!"; // Crashes here
parent.appendChild(child); // And here

Existe alguma alternativa que eu possa usar para o IE?

Obrigado.

P.S o código funciona bem em navegadores modernos.

UPD: O código a seguir resolve última parte do meu problema, eu posso acrescentar criança vazia a um pai:

var child = document.createElement('span');
if (parent.insertAdjacentElement){
   parent.insertAdjacentElement('beforeEnd', child);
}
else if (parent.appendChild) {
   parent.appendChild(child);
}

Mas eu ainda preciso colocar alguns dados dentro do elemento filho. createTextNode, innerHTML, setAttributes não fazer o trabalho.

Foi útil?

Solução

Isso pode estar relacionado, mas verifique este link para como alguém tem resolvido este problema

Editar: e este link demasiado

Outras dicas

Parece-me que ele está quebrando na 2ª linha. InnerHTML é escrito com uma minúscula i, não maiúsculas. Pode até ser a sua primeira linha como há um erro de digitação, mas eu suponho que é apenas na questão.

Será que essa correção o problema?

var child = document.createElement('span');
child.appendChild(document.createTextNode("Hello World!"));
parent.appendChild(child);

parent.innerHTML parece funcionar bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top