1

これが私のコードです

    $('.sort').click(function(){
        console.log($(this).attr('id'));
        $.cookie('sortby', $(this).attr('id'), { expires: 25 });
        //window.location.reload(true);
    });

HTML

<button id="name" class="sort">Name</button> 
<button id="price" class="sort">Price</button> 
<button id="popular" class="sort">Popularity</button>

私のクッキーは空になり、コンソールは次のように表示されます

popular
(an empty string)

正しいIDを取得しているようですが、nullに変更しています。何か提案はありますか?

4

3 に答える 3

3

2回目の呼び出しで、$(this)オブジェクトのスコープが変更されました。以下が機能するはずです。

    $('.sort').click(function(){
        console.log($(this).attr('id'));
        var $this = $(this);
        $.cookie('sortby', $this.attr('id'), { expires: 25 });
        //window.location.reload(true);
    });
于 2011-06-03T20:59:38.423 に答える
0

これは、「これ」を参照するときの内部Cookieが代わりに試されるためだと思います

$('.sort').click(function(){
    var id = $(this).attr('id')
    $.cookie('sortby', id, { expires: 25 });
});
于 2011-06-03T20:59:08.760 に答える
0

問題を再現できないため、コードがどこで間違っているのかわかりません。

$.cookieライブラリがロードされていることを確認し、その点で問題がないことを確認します。

于 2011-06-03T21:10:21.173 に答える