Referenciando nós criados dinamicamente no IE

Recentemente tive problemas ao referenciar nós criados por meio de DOM no IE.

Por mais que você atribua as propriedades id e name, o IE simplesmente se recusa a encontrar estes elementos. Dessa forma um elemento criado da seguinte forma:

var paragrafo = document.createElement('p');
paragrafo.name = 'meuNome'
paragrafo.id = 'minhaId';
document.appendChild(paragrafo)

Não será encontrado no IE.

Para correção deste problema é necessário criar o elemento da seguinte forma:

var paragrafo = document.createElement('<p name="meuNome" id="minhaId">');

Logicamente esta solução somente funcionará no IE. Para que possamos rodar nosso script em outros navegadores é preciso fazer algumas alterações, como apresentado abaixo.

var paragrafo;
if(document.all)
{
paragrafo = document.createElement('<p name="meuNome" id="minhaId">');
} else {
paragrafo = document.createElement('p');
}
paragrafo.name = 'meuNome';
paragrafo.id = 'minhaId';

Infelizmente a solução no meu caso não chegou a tempo, acabei mudando bastante a lógica do meu script para que pudesse funcionar no IE.

~ por joaodubas em 16/04/2009.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: