/ / ¿Cómo obtengo el valor izquierdo del elemento dentro de cada función de los hijos? - jquery, esto, cada uno, niños

¿Cómo obtengo el valor izquierdo del elemento dentro de cada función de los niños? - jquery, este, cada uno, niños.

¡DETENGA LA PRENSA!

Mi culpa ... ¡Intenté leer las propiedades que no estaban configuradas en el momento en que quería leerlas!

Estoy usando niños y cada uno para recorrerelementos hijos de un DIV. Esto me da un objeto que utilizo para mover el elemento para que se convierta en hijo de otro elemento. Esto funciona bien ... pero también necesito acceder al estilo en línea "izquierda" del elemento que se va a mover ... simplemente no puedo entender cómo obtener ese valor ...

$jquery("#thediv").children(".someclass").each(function () {

// move the element to another div
$jquery("#right").append($jquery(this));

});

El código anterior funciona bien ... Pero antes de mover el elemento, necesito obtener el valor izquierdo en línea para el elemento. Yo he tratado:

$jquery(this).css("left");

La línea anterior me da "auto" a cambio, el valor real para la izquierda es "0px". ¿Qué debo usar para obtener el valor izquierdo?

También me gustaría configurar el estilo en línea para que se vacíe antes de mover el elemento ... Para esto he intentado:

$jquery(this).attr("style", "");

La línea anterior no vació el estilo en línea, es igual que la salida original del elemento. ¿Qué debo usar para vaciar el estilo en línea de este elemento?

El estilo en línea para los elementos que está representado por la variable this en el bucle, tiene el siguiente estilo en línea: style = "position: absolute; left: 0px; top: 0px;"

donde a la izquierda está "0px" o p. "350px" y donde la parte superior no se establece en "0px" para todos los elementos (pero no es importante aquí) ...

Me encontré con este post: jQuery .css ("left") devuelve "auto" en lugar del valor real en Chrome

donde pensé que había encontrado una solución ... $ jquery (this) .position (). left; el problema es que esto siempre me devuelve "0", lo cual no es correcto ... ya que cada segundo elemento debería haber dejado = "350px" y no "0px"

Actualmente tengo este código jquery justo antes delcierre la etiqueta del cuerpo ... tal vez eso tenga algo que ver con este problema ... Pero pensé que no debería ser una razón ya que los estilos a los que estoy tratando de acceder están todos en línea.

Respuestas

0 para la respuesta № 1

¿Estás tratando de obtener el ancho de #thediv o de .someclass? Si necesita el ancho de #thediv, entonces necesita usar parent: $(this).parent().css("left"); ya que el contexto de esto dentro de cada ciclo es el div de una clase.

Vea el ejemplo aquí: http://jsfiddle.net/thespacebean/NJ9ny/

Ah, y para eliminar CSS en línea por completo, puede usar .removeAttr("style")