반복을 통한 jQuery 너비 ()?
-
21-08-2019 - |
문제
너비 () 값을 반복하고 검색하는 데 약간의 문제가 있습니다.
$(".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());
});
});
제휴하지 않습니다 StackOverflow