jquery-каждый для сокрытия элементов

у меня есть две кнопки

<div id="box1" class="alert alert-danger alert-dismissable">
<button id="1" aria-label="close" aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
1 test button
</div>
<div id="box2" class="alert alert-danger alert-dismissable">
<button id="2" aria-label="close" aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
2 test button
</div>

хорошо, скрывая их с помощью двух операторов if

if( $.cookie('box1') === 'closed' ) {
$('#box1').hide();
}

if( $.cookie('box2') === 'closed' ) {
$('#box2').hide();
}

для большего количества кнопок каждая лучше, но это не работает — почему бы и нет? : — | Тпх

$('.close').each(function(id, element) {
var id = $(element).attr('id');
if( $.cookie('#box'+id) === 'closed' ) {
$('#box'+id).hide();
}
});

-1

Решение

if( $.cookie('#box'+id) === 'closed' ) {

Проблема заключается в # до box, Это cookie, а не идентификатор элемента, он вам там не нужен.

3

Другие решения

Просто удалите # перед if( $.cookie('#box'+id) === 'closed' ) {

Итак, это должно выглядеть так:

$('.close').each(function(id, element) {
var id = $(element).attr('id');
if( $.cookie('box'+id) === 'closed' ) {
$('#box'+id).hide();
}
});
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector