у меня есть две кнопки
<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();
}
});
if( $.cookie('#box'+id) === 'closed' ) {
Проблема заключается в #
до box
, Это cookie, а не идентификатор элемента, он вам там не нужен.
Просто удалите # перед if( $.cookie('#box'+id) === 'closed' ) {
Итак, это должно выглядеть так:
$('.close').each(function(id, element) {
var id = $(element).attr('id');
if( $.cookie('box'+id) === 'closed' ) {
$('#box'+id).hide();
}
});