저는 li의 그룹을 반복하기 위해 jquery의 .each()를 사용하고 있습니다. 나는 모든 리가 합쳐진 총이 필요해. .each() 외부에서 count 변수를 만들고 .each() 내부에서이 변수를 증가시키는 유일한 방법은 무엇입니까? 그것은 매우 우아 해 보이지 않습니다.총 jquery의 .each()
var count;
$('#accordion li').each(function() {
++count;
});
저는 li의 그룹을 반복하기 위해 jquery의 .each()를 사용하고 있습니다. 나는 모든 리가 합쳐진 총이 필요해. .each() 외부에서 count 변수를 만들고 .each() 내부에서이 변수를 증가시키는 유일한 방법은 무엇입니까? 그것은 매우 우아 해 보이지 않습니다.총 jquery의 .each()
var count;
$('#accordion li').each(function() {
++count;
});
두 가지 옵션 :
$('#accordion li').size(); // the jQuery way
$('#accordion li').length; // the Javascript way, which jQuery uses
JQuery와 후드의 길이를 호출하기 때문에, 대신 크기() 호출의를 사용하는 것이 더 빠릅니다.
jQuery 워드 프로세서는 실제로'size()'가 아닌'length'을 사용할 것을 권장합니다 : http://api.jquery.com/size/에서 코멘트보기 – tvanfosson
+1 -'length' ftw –
예 jquery selector의 반복은 각()에 대해 한 번 수행 한 다음 size()에 대해 다시 수행합니다. 방금 var에 $ ('# accordion li')를 지정하고 두 번 호출했습니다. –
$('#accordion li').length;
음, 방금이 질문을 보았습니다. 이미 답변을 수락했으나 어쨌든 하나를 남겨두고 갈 것입니다.
질문의 요점은 카운터를 증가시키는 것과 관련이있는 것 같습니다.
사실 jQuery의 .each()
메서드가이 문제를 처리합니다. .each()
의 첫 번째 매개 변수는 증가 카운터 인이므로 직접 처리 할 필요가 없습니다.
$('#accordian li').each(function(index) {
// index has the count of the current iteration
console.log(index);
});
위에서 볼 수 있듯이 멋진 솔루션이 내장되어 있습니다.
안녕하세요, 답장을 보내 주셔서 감사합니다. 실제로 총계가 필요합니다. 인덱스가 증가 카운터를 제공하지만 모든 일치하는 목록 항목이 필요합니다. –
확인을 다음과 같이이 작업을 수행하는 가장 좋은 방법은 그래서 :
var $myListItems = $('#accordian li');
참고 : 내 취향가 당신이 다시 지글 지글의 DOM 조회를 할 필요가 없습니다 그래서 먼저 변수에 포장 세트를 매핑
var myLength = $myListItems.length;
0 : 그런 다음 포장 세트의 길이가 각각의 기능을 외부의 VAR을 설정
myListItems에 반대 따라서 $, JQuery와 설정 싸여있는 바르의 시작 부분에 myListItems을 $를 넣어
var가 jQuery 객체가 아니므로 여기에 $가 없음을 유의하십시오.
이제 각 변수를 색인과 함께 실행하십시오.
$myListItems.each(function(index){
// myLength has the length
// index has the current, 0 based index.
});
당신은 이제 하나의 모양이 위로 영업에 요구 한 일이 있고, 그래서 그냥 그것의 길이를 알 수 있도록 설정 싸서의 내용을 알 필요와 각 기능에 펌블 필요 . 이 카운터의 아름다움은 각각의 반복마다 길이를 이미 알고 있다는 것입니다.
동의 우리는 같은 결과를 얻으려면 dom을 두 번 찾지 않아도됩니다. – yeahdixon
대단히 감사합니다. 너는 좋은 하루 보내. –