2016-11-07 1 views
0

배열에서 id = "tripDate"로 전체 td의 내부 html을 수집하고 각각을 검사하는 방법 JavaScript 또는 jquery를 사용하여 현재 날짜가있는 td 값배열에 id = "tripDate"인 전체 <td> 내부 HTML을 수집하고 현재 날짜로 각 td 값을 검사하는 방법

<table class="w3-table-all w3-small w3-responsive"> 
    <thead> 
     <tr class="w3-green"> 
      <th style="padding:15px; font-weight:bold;">Departure Dates</th> 
      <th style="padding:15px; font-weight:bold;">Departure Availablity</th> 
      <th style="padding:15px; font-weight:bold;">Trip Cost</th> 
      <th style="padding:15px; font-weight:bold;">Inquiry</th> 
     </tr> 
    </thead> 
    <tr class="w3-hover-pale-green"> 
     <td id="tripDate"><?=$ddate1='March, 21, 2017 - April, 06, 2017'?></td> 
     <td class="available">Available</td> 
     <td>USD$ 1250.00</td> 
     <td><a class="w3-btn w3-small w3-green w3-hover-green fancybox fancybox.iframe" href="<?=ROOTDIR.$_PHPLIB['contact']?>index.php?trpName=<?=$tripName?>&trpDate=<?=$ddate1;?>&trpUrl=<?=$actual_link;?>">Inquiry</a></td> 
    </tr>  
    <tr class="w3-hover-pale-green"> 
     <td id="tripDate"><?=$ddate1='March, 28, 2017 - April, 13, 2017'?></td> 
     <td class="available">Available</td> 
     <td>USD$ 1250.00</td> 
     <td><a class="w3-btn w3-small w3-green w3-hover-green fancybox fancybox.iframe" href="<?=ROOTDIR.$_PHPLIB['contact']?>index.php?trpName=<?=$tripName?>&trpDate=<?=$ddate1;?>&trpUrl=<?=$actual_link;?>">Inquiry</a></td> 
    </tr> 
    <tr class="w3-hover-pale-green"> 
     <td id="tripDate"><?=$ddate1='April, 04, 2017 - April, 20, 2017'?></td> 
     <td class="available">Available</td> 
     <td>USD$ 1250.00</td> 
     <td><a class="w3-btn w3-small w3-green w3-hover-green fancybox fancybox.iframe" href="<?=ROOTDIR.$_PHPLIB['contact']?>index.php?trpName=<?=$tripName?>&trpDate=<?=$ddate1;?>&trpUrl=<?=$actual_link;?>">Inquiry</a></td> 
    </tr> 
</table> 
var currentDate = new Date(); 
var IDs = []; 

$('.w3-table-all').find("td[id='tripDate']").each(function() { 
    IDs.push(this.id); 
}); 

$.each(IDs, function(index, value) { 
    var actualDates = document.getElementById(value).innerHTML; 
    // didn't get all the values something went wrong ????? 
    if (actualDates < currentDate) { 
     //do something good 
    } 
}); 
+3

당신이 유효 같은'id'과의 주요 원인으로 여러 요소가 있습니다

var now = new Date(); $(".w3-table-all td[id='tripDate']").each(function() { var currentTripDateRange = this.innerText , currentTripDates = currentTripDateRange.split(' - ') , startDate =Date.parse(currentTripDates[0]) , lastDate =Date.parse(currentTripDates[1]); if(now >= startDate && now <= lastDate){ //here is your selected dateRange log(currentTripDateRange); } }); 

여기에 작업 코드 찾기 너의 문제. 클래스로 변경하십시오. 또한'map()'을 사용하여 배열을 만들 수도 있습니다. 또한 현재 값을 Date 객체로 직접 파싱 할 수 없으므로'td'의 값을 비교할 수있는 날짜로 변환하는 데 문제가 있습니다. 제대로 작동하려면 문자열 해킹이 필요합니다. JS에서 파싱을 연구 해보길 권합니다. –

+0

@RoryMcCrossan지도()에 책을 써야합니다 : P – Mahi

+1

@Mahi 내가 가장 좋아하는 jQuery 메서드입니다. :) –

답변

관련 문제