Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2009, 05:19
nachman
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 9 meses
Puntos: 0
Comportamiento "extraño" de DOM

Buenos dias a todos!

Este es mi primer post en el foro, suelo casi siempre encontrar una solución a mis problemas en este foro, pero esta vez hay algo que se me escapa y no tengo idea de que puede ser. El código es el siguiente:

Código:
valores = document.getElementById(iden).getElementsByTagName('li');
var lista = String();

for(counter=0; valores.length >= counter; counter++)
{
  alert(valores[counter].firstChild.nextSibling.value);
}
Se trata de un formulario que posee una lista, dentro de cada <li> tengo un texto (el firstChild) y luego un <input> (el firstChild.nextSibling, porque podría ser un <select> también).
Recojo los valores introducidos por el usuario primero cogiendo un array con todos los <li> (con getElementsByTagName) dentro de mi div con su lista, luego voy a por cada uno de ellos con el for, indico que me interesa el "value" del segundo "child".
Quedaría asi: valores[counter].firstChild.nextSibling.value

Mi problema:

Lo que pasa es que si intento mostrar ese valor con un alert() me lo enseña sin problemas, pero si lo quiero sumar a una string de la siguiente forma:

Código:
valores = document.getElementById(iden).getElementsByTagName('li');
var lista = String();

for(counter=0; valores.length >= counter; counter++)
{
  lista+=valores[counter].firstChild.nextSibling.value;
}
no funciona, el JavaScript Debugger de Firefox, que de por si es bastante ambiguo en algunos casos, me dice lo siguiente:

Error 'valores[counter] is undefined'

Mientras que de la otra forma no se queja, me lo enseña sin problemas.

¿Alguien sabe decirme de que se trata?