jQuery, если дата истинна, изменить класс элемента x
Теперь у меня есть еще два вопроса и я обновил свой код.
- У меня есть это, если (releaseDate <= сегодня), почему успех Дата 15.05.2015?!
- Когда я хочу проверить даты с примером времени: 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');
}