anchura Jquery () a través de iteración?
-
21-08-2019 - |
Pregunta
Estoy teniendo un poco de problemas iterando y recuperación de anchura () valores.
$(".MyClass").each(
function(){
elemWidth=$(this).width();
}
);
así que para cada elemento "MyClass" i gustaría encontrar la anchura (algunos son diferentes).
Pero el código de seguridad sólo produce la anchura () de la primera instancia de MyClass y devuelve 0 de después de eso.
¿Alguna idea de ser capaz de obtener el ancho de cada instancia de MyClass?
Solución
Utilice map
en lugar de each
a simplificar el código:
$('.MyClass').map( function() {
return $(this).width();
});
Otros consejos
var widths = [];
$('.MyClass').each(function() {
widths.push($(this).width());
});
debería funcionar bien. Si usted mostró un poco más de código que podría ser capaz de averiguar lo que está mal.
Actualización:
Cuando usted está funcionando con este método? ¿Está esperando hasta que el DOM está listo, o simplemente ejecutar inmediatamente? Si no es así, el navegador no puede realizarse haciendo todos esos elementos todavía.
Probar si no está ya:
var widths = [];
$(document).ready(function() {
$('.MyClass').each(function() {
widths.push($(this).width());
});
});