terça-feira, 31 de maio de 2011

Javascript DOM - Recuperar valor de atributo

Olá, vou mostrar neste post um pequeno problema de compatibilidade entre navegadores utilizando DOM em javascript para recuperar o valor de um atributo de um determinado nó...

No meu caso fiz uma solicitação Ajax que me retornava um xml construído no lado do servidor. Esse xml então é então recuperado pelo método responseXML, para recuperar o valor do atributo no meu nó então eu usei a seguinte estrutura.

response = transport.responseXML.documentElement;
response.getElementsByTagName("livro")[0].getAttribute("status");

Onde livro é minha tag e status é o atributo. Funciona perfeitamente nos navegadores da google, da mozzila e outros, ai na hora de testar no problemático IE, adivinhem? não me retornava o valor do atributo.

Depois de fazer algumas pesquisas tive que mudar uma linha de comando. Caso você também tenha tido este problema, segue a solução:

Substitua 
response.getElementsByTagName("livro")[0].getAttribute("status");

Por
response.getElementsByTagName("livro")[0].attributes.getNamedItem("status").value


Bom... é isso ai pessoa... até a próxima. 

Nenhum comentário:

Postar um comentário