문제

너비 () 값을 반복하고 검색하는 데 약간의 문제가 있습니다.

$(".MyClass").each( 
function(){
    elemWidth=$(this).width();
}

);

따라서 각 "MyClass"요소에 대해 너비를 찾고 싶습니다 (일부는 다릅니다).

그러나 위의 코드는 MyClass의 첫 번째 인스턴스의 너비 () 만 생성하고 그 후 0을 반환합니다.

MyClass의 모든 인스턴스의 너비를 얻을 수 있다는 아이디어가 있습니까?

도움이 되었습니까?

해결책

사용 map 대신에 each 코드를 단순화하려면 :

$('.MyClass').map( function() {
    return $(this).width();
});

다른 팁

var widths = [];
$('.MyClass').each(function() {
    widths.push($(this).width());
}); 

잘 작동해야합니다. 조금 더 많은 코드를 보여 주면 무엇이 잘못되고 있는지 알아낼 수 있습니다.

업데이트:

이 방법을 언제 실행하고 있습니까? DOM이 준비 될 때까지 기다리고 있습니까, 아니면 즉시 실행합니까? 그렇지 않은 경우 브라우저는 아직 해당 요소를 모두 렌더링하지 않을 수 있습니다.

당신이 아직 없다면 이것을 시도하십시오 :

var widths = [];
$(document).ready(function() {
    $('.MyClass').each(function() {
        widths.push($(this).width());
    }); 
});
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top