2016-05-30 2 views
2

Я с помощью jquery cookie плагин и вот мои коды:Найти все куки с именем

$('.Bookmark').click(function() { 
    var id = $(this).attr('rel'); 
    if ($(this).hasClass('RedHeart')) { 
     $(this).removeClass('RedHeart'); 
     $.removeCookie('Bookmarkid_' + id, id); 
     $(this).attr('title', 'Add'); 
    } else { 
     $(this).addClass('RedHeart'); 
     $.cookie('Bookmarkid_' + id, id, { expires: 3650 }); 
     $(this).attr('title', 'remove'); 
    } 
}); 

$('.Bookmark').each(function() { 
    var id = $(this).attr('rel'); 
    var $this = $(this); 
    if ($.cookie('Bookmarkid_' + id) == id) { 
     $this.addClass('RedHeart'); 
     $this.attr('title', 'remove'); 
    } 
}); 

мне интересно, как я могу найти все куки, которые устанавливают с похожим названием. например я набор набор 3 печенье с этими именами:

Bookmarkid_3132509 
Bookmarkid_3432502 
Bookmarkid_4433342 

теперь я хочу, чтобы найти и вернуть все куки, которые начинаются с Bookmarkid_ именем. Мне нужно что-то вроде этого:

if ($.cookie().indexOf("Bookmarkid_") === 0) { 
    alert('yes') 
} 

Edit: это не дублировать и не связанные с этой темой, все еще не решена моя проблема !!!

+0

@Satpal Я пробовал его раньше, не решить мою проблему! Я думаю, что это не связано с моим вопросом, но вы отметили его как дублирующийся! моя проблема еще не решена. – Pedram

+1

Я открыла его, попробую 'if (Object.keys ($. Cookie()). Some (function (k) {return ~ k.indexOf (" Bookmarkid_ ")})) { // у него есть Bookmarkid_property } ' – Satpal

ответ

2

Читать все доступные печенья: $.cookie(); // => { "name": "value" }

Так

Object.keys($.cookie()).forEach(function(cookieName) { 
    if (cookieName.indexOf("Bookmarkid_") === 0) { 
    alert('yes') 
    } 
}); 

// next one return you only filtered cookies 
Object.keys($.cookie()).reduce(function(collector, cookieName) { 
    if (cookieName.indexOf("Bookmarkid_") === 0) { 
    collector[cookieName] = $.cookie(cookieName); 
    } 
    return collector; 
}, {}); 

// to filter cookies Names 
Object.keys($.cookie()).filter(function(cookieName) { 
    return cookieName.indexOf('Bookmarkid_') === 0; 
}); 
+0

Спасибо, и еще один вопрос, как я могу вернуть эти файлы cookie с полным именем? Я имею в виду return 'Bookmarkid_3132509'' Bookmarkid_3432502' 'Bookmarkid_4433342', например, в массиве. – Pedram

+1

@pedram проверить обновленный ответ –

+0

Спасибо за помощь и ответ – Pedram

Смежные вопросы