jQuery, если дата истинна, изменить класс элемента x

Теперь у меня есть еще два вопроса и я обновил свой код.

  1. У меня есть это, если (releaseDate <= сегодня), почему успех Дата 15.05.2015?!
  2. Когда я хочу проверить даты с примером времени: 25.04.2015 - 09.00, как я могу проверить это с сегодняшним днем ​​и датой более 25.04.2015 == true.

Мой код:

<script src="https://code.jquery.com/jquery.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

<script>
var releaseDate = {};

jQuery(".state").each(function() {
 releaseDate = jQuery(this).text() 
    
 var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth()+1;
    var yyyy = today.getFullYear();
 var hh = today.getHours();
  
    if(dd<10){
        dd='0'+dd
    } 
    if(mm<10){
        mm='0'+mm
    } 
 var today = dd+'.'+mm+'.'+yyyy; 
  
 if (releaseDate <= today) {
   jQuery(this).parent().next().find('span.label').addClass('label-success').removeClass('label-warning');
   jQuery(this).parent().next().find('span.label').text('Online');
 }     
  });
</script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

<table class="table table-hover">
  <thead>
    <tr>
      <th align="center" valign="middle"><strong>Shop</strong></th>
      <th align="center" valign="middle"><strong>Date</strong></th>
      <th align="center" valign="middle"><strong>Status</strong></th>
      <th align="center" valign="middle"><strong>Link</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td align="center" valign="middle"><a href="#" rel="nofollow">LINK</a></td>
      <td align="center" valign="middle"><span class="state">15.05.2015</span></td>
      <td align="center" valign="middle"><span class="label label-warning">Upcoming</span></td>
      <td align="center" valign="middle"><a class="btn btn-info btn-sm" href="#" title="#" target="_blank"><strong>LINK <span class="glyphicon glyphicon-share-alt"></span></strong></a></td>
    </tr>
   <tr>
      <td align="center" valign="middle"><a href="#" rel="nofollow">LINK</a></td>
      <td align="center" valign="middle"><span class="state">25.04.2015</span></td>
      <td align="center" valign="middle"><span class="label label-warning">Upcoming</span></td>
      <td align="center" valign="middle"><a class="btn btn-info btn-sm" href="#" title="#" target="_blank"><strong>LINK <span class="glyphicon glyphicon-share-alt"></span></strong></a></td>
    </tr>
    <tr>
      <td align="center" valign="middle"><a href="#" rel="nofollow">LINK</a></td>
      <td align="center" valign="middle"><span class="state">30.04.2015</span></td>
      <td align="center" valign="middle"><span class="label label-warning">Upcoming</span></td>
      <td align="center" valign="middle"><a class="btn btn-info btn-sm" href="#" title="#" target="_blank"><strong>LINK <span class="glyphicon glyphicon-share-alt"></span></strong></a></td>
    </tr>
    <tr>
  </tbody>
</table>

Я надеюсь, что кто-то может объяснить или показать мне это!

2 ответа

Решение
if (releaseDate == today) {
    $(this).parent().next().find('span.label')
        .addClass('label-success').removeClass('label-warning');
}

Делай что хочешь. Демо здесь.

removeClass() а также addClass() довольно понятны. parent() идет в окружающие <tr> элемент, next() получить сразу же после братьев и сестер, и find() в этом случае ищет диапазон с классом метки.

Я вижу, что вы хотите изменить класс span в следующей ячейке таблицы td, Ты можешь использовать $(this).parent().next() чтобы добраться до этой клетки, и использовать .find('.label') найти span что вы хотите изменить класс для.

Затем вы можете использовать любую комбинацию removeClass() а также addClass() или просто toggleClass() методы:

if (releaseDate == today) { 
    $(this).parent().next().find('.label').removeClass('label-warning').addClass('label-success');  
    //or possible
    $(this).parent().next().find('.label').toggleClass('label-warning label-success');              
}   
Другие вопросы по тегам