2013-06-24 5 views
0

캘린더를 생각하면보기가 좋아 보인다. 각 dayHolder에는 data-date 속성이 있습니다. 그런 다음 datePicker 캘린더에서 fromDate와 untilDate 중 하나를 선택하면됩니다. 그 다음에 fromDate와 untilDate 사이에 며칠을 계산하고 나중에 내 자신의 캘린더에서 내 fromDate를 찾고이 상태를 작성한 다음 다음 날을 찾아서 그 상태를 쓰고 도달 할 때까지 계속합니다. 내 약속 날짜.jQuery 다음 5 형제

가장 좋은 방법은 무엇입니까? 데이터 - 날짜가있는 각 dayDiv를 찾기가 무겁다.

그래서 나는 지금 이런 식으로 일을했다 :

var fromDate = new Date(calenderStatus.fromDate.substring(0, 10)); 
var untilDate = new Date(calenderStatus.untilDate.substring(0, 10)); 
var days = 0; 

if (fromDate <= untilDate) { 
    var smallDate = new Date(fromDate.getFullYear(), fromDate.getMonth(), fromDate.getDate(), 0, 0, 0, 0); 
    var maxDays = new Date(untilDate.getFullYear(), untilDate.getMonth(), untilDate.getDate(), 0, 0, 0, 0); 
    days = (maxDays - smallDate)/(1000 * 60 * 60 * 24); 
} 

if (days > 0) { 
    var dayHolder = $(".dayHolder[data-date='"+ calenderStatus.fromDate +"']"); 

    for (var i = 0; i < days; i++) { 
     //do something with dayHolder 
     dayHolder = dayHolder.next('.dayHolder'); 
    } 

HTML :

<div class="dayHolder ui-grid-a" data-changeable="true" data-date="2013-06-24"> 
<div class="dayHolder ui-grid-a" data-changeable="true" data-date="2013-06-25"> 
<div class="dayHolder ui-grid-a" data-changeable="true" data-date="2013-06-26"> 
+4

'향후 5 sibilings'를 찾으려면'시도 $ (이) .nextAll ('LT (5)') ' –

+2

좋은 일했다! 발견 된 이유 : lt()는 jQuery 확장이며 CSS 사양의 일부가 아니기 때문에 lt()는 네이티브 DOM querySelectorAll() 메서드에서 제공하는 성능 향상을 이용할 수 없습니다. 최신 브라우저의 성능을 높이려면 대신 $ ("your-pure-css-selector"). slice (0, index)를 사용하십시오. – thatsIT

답변

0

이 난에 질문이 있어요 코멘트를했다.

때문에 : 이것은 주석입니다 LT()는 CSS 사양의 jQuery를 확장하지 부분이며, 사용하는 쿼리 : LT()를 기본 DOM querySelectorAll가 제공하는 성능 향상의 이점을 취할 수 없다() 방법. 최신 브라우저의 성능을 높이려면 대신 $ ("your-pure-css-selector"). slice (0, index)를 사용하십시오.

이제 모든 .dayHolder를 가져오고 슬라이스 메서드를 사용하고 싶습니다. 올바른 date-date를 사용하여 특정 dayHolder의 인덱스를 찾는 방법은 무엇입니까? 이것은 하나의

var specificDiv = $(".dayHolder[data-date='"+ calenderStatus.fromDate +"']"); 

입니다하지만 그 $에서 하나의 인덱스 ('. dayHolder')인가? 이처럼

:

$('.dayHolder').slice(specificDiv, 5)