将循环结构转换为JSON

时间:2015-07-14 06:19:15

标签: javascript jquery json local-storage

我需要什么

  • 我需要通过切换类来实现书签功能。

JS和HTML代码

var favoriteData = {};
$(document).ready(function() {
  if (localStorage.getItem("favoriteData") !== null) {
    $.each(favoriteData = JSON.parse(localStorage.getItem("favoriteData")), function(a) {
      $("#" + a).addClass("fa fa-heart");
      $("#" + a).removeClass("favourate_dextop");
      $("#" + a).removeClass("fa-heart-o")
    })
  }

  $(document).delegate(".favourate_dextop ", "click", function(a) {
    alert(a);
    favorite(this);
    $(this).toggleClass("fa-heart-o").toggleClass("fa-heart ")
  })
});

function favorite(a) {
  alert(a);
  if (favoriteData[a.id] !== undefined) {
    delete favoriteData[a.id]
  } else {
    favoriteData[a.id] = $(a).data()
  }
  $(a).removeClass("faved");
  localStorage.setItem("favoriteData", JSON.stringify(favoriteData));
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="icons_right pull-right">
  <li>
    <a href="javascript:void(0)" onclick="dataLayer.push({'event':'addtofav'})" class=" fa-heart-o  favourate_dextop" data-toggle="tooltip" title="" id="fav3850" data-sess_id="3850" data-name="Ramadan and Eid Exhibition" data-city="Sharjah" data-country="United Arab Emirates"
    data-event_url="ramadan-fair" data-original-title="Follow &amp; Bookmark"></a>
  </li>
</ul>

问题

  • 当我点击心形图标时,会抛出错误Uncaught TypeError: Converting circular structure to JSON

  • 我已经交叉检查了脚本,但我无法找到错误。

console.log(favoriteData)

   Object {fav74692: Object}
    fav74692: Object
    bs.tooltip: n
    city: "Graz"
    country: "Austria"
    event_url: "festival-senses-graz"
    name: "Festival of the Senses Graz"
    sess_id: 74692
    toggle: "tooltip"
    __proto__: Object
    __proto__: Object

0 个答案:

没有答案