Javascript 使用HTML5 localStorage存储用户突出显示的行

Javascript 使用HTML5 localStorage存储用户突出显示的行,javascript,jquery,arrays,html,local-storage,Javascript,Jquery,Arrays,Html,Local Storage,我有一个javascript函数,每当用户向数组高亮显示一行时,它都会添加一个表行id,然后当用户取消高亮显示同一行时,还会从数组中删除相应的id 每行都有一个唯一的id字段 我一直在尝试使用localStorage来记住用户在多个会话中突出显示了阵列中的哪一行,这样,如果他们关闭浏览器并稍后返回,我就可以从该阵列中读取并自动突出显示以前突出显示的行 我一直在思考如何让它的localStorage部分从我的阅读中记住数组 对于localStorage,它不支持数组,只支持字符串。我所需要做的就是

我有一个javascript函数,每当用户向数组高亮显示一行时,它都会添加一个表行id,然后当用户取消高亮显示同一行时,还会从数组中删除相应的id

每行都有一个唯一的id字段

我一直在尝试使用localStorage来记住用户在多个会话中突出显示了阵列中的哪一行,这样,如果他们关闭浏览器并稍后返回,我就可以从该阵列中读取并自动突出显示以前突出显示的行

我一直在思考如何让它的localStorage部分从我的阅读中记住数组 对于localStorage,它不支持数组,只支持字符串。我所需要做的就是存储一个数字数组,以便在每次加载页面时读取

var selectedTeams = [];
var teamIndex;

$('#leaderboard').on('click', 'tr', function() {
    if($(this).hasClass('highlight')){
          $(this).removeClass('highlight')
          teamIndex = selectedTeams.indexOf(this.getAttribute('id'))
          selectedTeams.splice(teamIndex,1)
    }
    else {
          $(this).addClass('highlight')
          selectedTeams.push(this.getAttribute('id'))
    }
});
如果您有任何关于从这里出发的建议,我们将不胜感激


干杯

举个简单的例子,你可以这样做(Dave提到过)

假设您已经对有效的本地存储功能进行了所有检查

var someArray = ['<tr><td>test 3</td></tr>','<tr><td>test</td></tr>','<tr><td>test 3</td></tr>']

window.localStorage.setItem('mySavedArray',JSON.stringify(someArray));

then to get it:

JSON.parse( window.localStorage.getItem('mySavedArray') );
var someArray=['test3','test','test3']
window.localStorage.setItem('mySavedArray',JSON.stringify(someArray));
然后,要获得它:
parse(window.localStorage.getItem('mySavedArray');

保存时使用
JSON.stringify
,检索时使用
JSON.parse
。谢谢@dave,我会试试的。干杯