Foros del Web » Programando para Internet » Javascript »

Ordenar array con objetos por posicion en el DOM

Estas en el tema de Ordenar array con objetos por posicion en el DOM en el foro de Javascript en Foros del Web. Buenas a compañeros de fatiga, Tengo un pequeño array con 10 objetos del arbol DOM. Son 10 inputs seleccionados aleatoriamente. Necesito poder ordenarlos segun su ...
  #1 (permalink)  
Antiguo 17/08/2013, 02:25
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 12 años
Puntos: 10
Ordenar array con objetos por posicion en el DOM

Buenas a compañeros de fatiga,

Tengo un pequeño array con 10 objetos del arbol DOM. Son 10 inputs seleccionados aleatoriamente. Necesito poder ordenarlos segun su posicion en el arbol DOM. Simplemente los primeros al principio y los ultimos al final.

¿Es posible hacerlo de forma sencilla?, es que todo lo que pienso es un galimatias
  #2 (permalink)  
Antiguo 17/08/2013, 02:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Ordenar array con objetos por posicion en el DOM

Hola:

Recorrer los nodos, tanto con childNodes como getElementsByTagName es secuencial, así que dependerá de como tienes definidos esos objetos... tal vez empezando desde un array vacío llenándolo con un simple push...

Con algo más de información tal vez sería más fácil ayudarte.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 17/08/2013, 15:15
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Ordenar array con objetos por posicion en el DOM

Si un poco mas de informacion por ejemplo

todos los elementos estan en el mismo contenedor?

El contenedor es un elemento posicionado?

Ya sabiendo eso puedes iterar los elementos y usar la propiedad offsetTop/offsetLeft segun sea el caso

salu2
  #4 (permalink)  
Antiguo 17/08/2013, 17:37
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 12 años
Puntos: 10
Respuesta: Ordenar array con objetos por posicion en el DOM

Buenas,

Gracias por ayudarme. Me explico mejor.

Tengo dos arrays. El primero con Inputs type text. El segundo array con Inputs type password.

Al enviar por AJAX el formulario tengo que darles un NAME a cada Input. Para ello uno los arrays en uno. El problema es que necesito poder ordenar ese array por su posicion en el Arbol DOM. Osea:

Los inputs text y password estan mezclados. Pero como he unido los arrays siempre se ponen los del primer array primero. Y lo que necesito es que esten primero los primeros en el document y ordenados por aparación.

Código HTML:
Ver original
  1. <div class="mis_inputs">
  2. <input type="text" />
  3. <input type="password" />
  4. <input type="text" />
  5. <input type="text" />
  6. <input type="text" />
  7. </div>

-Primer array: campos tipo text.
-Segundo array: campos tipo password.

Lo que busco es unir esos dos arrays y que el segundo elemento del array generado sea el campo "type password".

No puedo no usar esos dos arrays, ya que existen otros inputs mezclados por todas partes.

He estado consultado las propiedades de un objeto con el Firebug y veo que existen muchos parametros que desconocia sobre la posicion en el DOM, pero me temo que no son propiedades cross browser.

Uf, siento enrollarme me explico faltal.
  #5 (permalink)  
Antiguo 17/08/2013, 22:37
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 12 años
Puntos: 10
Respuesta: Ordenar array con objetos por posicion en el DOM

Buenas de nuevo,

Me leo y no podria haber preguntado de forma mas liosa. Os pregunto de nuevo, no hagais caso a mis anteriores palabras:

¿Existe alguna forma de saber "el numero" que ocupa un objeto en el arbol DOM sin parsear todos los objetos del document?. ¿Existe algun parametro implicito en cada objeto que indique ese dato?.
  #6 (permalink)  
Antiguo 17/08/2013, 22:53
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 12 años
Puntos: 10
Respuesta: Ordenar array con objetos por posicion en el DOM

Buenos dias,

Acabo de hacer esta funcion:

Código Javascript:
Ver original
  1. function N(o) {
  2.     var e = document.getElementsByTagName("*");
  3.     for (p = 0; p < e.length; p++) 
  4.         {
  5.             if (e[p] == o)return p;
  6.         }
  7.        return 0;
  8.     }

Que me devuelve la posición de un objeto en particular. He creado luego un FOR() que recorre el array y lo ordena.

Creo que es una forma un tanto "poco optimizada", pero no se me ocurre otra forma, jeje.

Muchas gracias a todos!

Etiquetas: dom, input, objetos, posicion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.