国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - 用localstorage存json對象的時候 希望實現(xiàn)每次點擊 把值一直疊加到儲存里面 現(xiàn)在每次點擊會覆蓋掉之前的

瀏覽:94日期:2023-04-23 18:51:39

問題描述

這是存的時候的代碼

$('.top').click(function(){ var contrastdata = new Object;contrastdata.Machinedata = $(this).parents(’tr’).find(’td’)[0].innerText;contrastdata.UserNamedata = $(this).parents(’tr’).find(’td’)[2].innerText;contrastdata.InstrumentIDdata = $(this).parents(’tr’).find(’td’)[4].innerText;localStorage.setItem(’contrastdata’,JSON.stringify(contrastdata)); });

下面是取的時候

var contrastdata = JSON.parse(localStorage.getItem(’contrastdata’));var Machinedata = contrastdata.Machinedata;var UserNamedata = contrastdata.UserNamedata;var InstrumentIDdata = contrastdata.InstrumentIDdata;

問題解答

回答1:

你這思路不對,應該先從LocalStorage取出原來的值,然后將新數(shù)據(jù)疊加到原來的值中,然后再次存入LocalStorage。這樣就不會出現(xiàn)數(shù)據(jù)覆蓋了

回答2:

你是想每個tr都存不同的item嗎?

回答3:

覆蓋是因為你每次存儲時名字沒變你可以改成這樣var nums = 0;$('.top').click(function(){

var contrastdata = new Object; contrastdata.Machinedata = $(this).parents(’tr’).find(’td’)[0].innerText; contrastdata.UserNamedata = $(this).parents(’tr’).find(’td’)[2].innerText; contrastdata.InstrumentIDdata = $(this).parents(’tr’).find(’td’)[4].innerText; localStorage.setItem(’contrastdata_’+nums,JSON.stringify(contrastdata)); nums++;});

下邊取值的時候再根據(jù)nums的值循環(huán)或者是改變數(shù)據(jù)結構,用一個對象存儲數(shù)據(jù),每次點擊把數(shù)據(jù)加到對象里面,然后把對象存進localstroage里面

回答4:

先從localStorage取出數(shù)據(jù)轉換成對象,記得做防御判斷,然后把想要存的值插入到取出來的對象中去,然后轉換成字符串存入localStorage覆蓋原來的數(shù)據(jù);

回答5:

先讀取,然后追加,再寫入。

// 讀取已存入的數(shù)據(jù);// `|| []`是為了第一次存取時,初始化存入的數(shù)據(jù)結構,想要追加就得用數(shù)組let temp = JSON.parse(localStorage.getItem(’contrastdata’)) || [];// 追加數(shù)據(jù)temp.push({ Machinedata: ’abc’, UserNamedata: 123}); localStorage.setItem(temp);回答6:

在一開始的時候先取值賦給變量,然后在點擊事件里面去進行操作,數(shù)據(jù)暫時不需要直接去存儲,在跳轉頁面或者需要存儲的時候再進行存儲,不然每次點擊的時候存一下,然后取一下,很麻煩。

var contrastdata = JSON.parse(localStorage.getItem(’contrastdata’));if(!contrastdata){ contrastdata = {};}$('.top').click(function(){ contrastdata.Machinedata = $(this).parents(’tr’).find(’td’)[0].innerText; contrastdata.UserNamedata = $(this).parents(’tr’).find(’td’)[2].innerText; contrastdata.InstrumentIDdata = $(this).parents(’tr’).find(’td’)[4].innerText;});//頁面做跳轉或者需要存的時候再存儲localStorage.setItem(’contrastdata’,JSON.stringify(contrastdata));回答7:

var contrastdata = JSON.parse(localStorage.getItem(’contrastdata’)),contrastdata1={},contrastdataArr=[];//如果localStorage.getItem(’contrastdata’)存在值,就先添加進數(shù)組里面if(contrastdata){ contrastdataArr.push(contrastdata)}$('.top').click(function(){ //初始化contrastdata1臨時變量 var contrastdata1={}; //設置contrastdata1 contrastdata1.Machinedata = $(this).parents(’tr’).find(’td’)[0].innerText; contrastdata1.UserNamedata = $(this).parents(’tr’).find(’td’)[2].innerText; contrastdata1.InstrumentIDdata = $(this).parents(’tr’).find(’td’)[4].innerText; //把contrastdata1添加進contrastdataArr; contrastdataArr.push(contrastdata1)});//頁面關閉時把contrastdataArr存儲進localStorage(contrastdata)localStorage.setItem(’contrastdata’,JSON.stringify(contrastdataArr));

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 吴江市| 阳春市| 邹城市| 新竹县| 陆川县| 临夏县| 眉山市| 临潭县| 南城县| 孝义市| 新巴尔虎右旗| 班玛县| 深水埗区| 康马县| 绍兴县| 庄河市| 松溪县| 固始县| 蚌埠市| 鹤壁市| 剑川县| 株洲县| 日喀则市| 通辽市| 天长市| 山东省| 郎溪县| 崇义县| 邮箱| 纳雍县| 沂源县| 峨边| 建湖县| 潼关县| 扎鲁特旗| 什邡市| 若羌县| 汝阳县| 南阳市| 剑河县| 潮州市|