前提・実現したいこと
jqueryプラグイン「jquery.cookie」で、クリック履歴を50件登録していきたいと思っています。
クリックした.postの中の<p>と<a>を拾い、それを#historyにリストで出力するということを実現したいです。
発生している問題・エラーメッセージ
クリックしても作動しません。
該当のソースコード
html
1<!--cookie保存対象--> 2<div class="post post1"> 3 <p>title1</p><a href="link1">link1</a> 4</div> 5<div class="post post2"> 6 <p>title2</p><a href="link2">link2</a> 7</div> 8<div class="post post3"> 9 <p>title3</p><a href="link3">link3</a> 10</div> 11 12<!--ここにcookieを出力--> 13<div id="history"> 14</div> 15 16<!--たとえば、 .post1のクリック時は以下のように出力したい--> 17<div id="history"> 18<ul> 19<li><a href="link1">title1<a/></li> 20</ul> 21</div> 22 23<!--jQuery.cookieのコード--> 24<script type="text/javascript"> 25$(function(){ 26 27 // クッキー登録 28 $('body').on("click",'.post',function(){ 29 30 var historytitle = $(this).find('p').text(); 31 var historylink = $(this).find('a').attr('href'); 32 33 // 配列にタイトルとリンクを保存 34 var params = [ { title: '', link: ''} ]; 35 if($.inArray(history, params) < 0){ 36 params.title.push(historytitle); 37 params.link.push(historylink); 38 } 39 40 // クッキーに保存 41 $.cookie('クリック履歴', { path: "/" }); 42 43 }); 44 45 // クッキー呼び出し 46 var cookie = $.cookie('クリック履歴'); 47 if(cookie){ 48 $('#history').html('<ul><li>'+cookie+'</li></ul>'); 49 } 50 51});
試したこと
単にこうすると登録できるので、プラグイン自体は作動しているようです。
$(function(){
// クッキー登録 $('body').on("click",'.post',function(){
$.cookie('クリック履歴', { path: "/" });
});
});
補足情報
【プラグインサイト】
・GitHub
https://github.com/carhartl/jquery-cookie
【参考サイト】
・jQueryプラグイン「jquery.cookie.js」でcookieを簡単に扱う
https://www.tam-tam.co.jp/tipsnote/javascript/post3109.html
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。