繁体   English   中英

如何将字母存储在本地存储中而不是Javascript中的点击计数?

[英]How to store alphabets in localstorage instead of clickcount in Javascript?

我正在创建一些动态控件,并且希望从本地存储为其分配ID。 它的工作正常,但我想代替新的数字,我希望将字母(例如A,B)分配给新创建的控件。 有可能通过javascript实现吗?

function nextNumber() {
  if (typeof (Storage) !== "undefined") {
    if (localStorage.clickcount) {
      localStorage.clickcount = Number(localStorage.clickcount) + 1;
    } else {
      localStorage.clickcount = 1;
    }
    Increment = localStorage.clickcount;

  } else {

  }
}

elem.setAttributeNS(null, "id", "ID " + Increment)//assigning id

这是一个未经验证的示例,您怎么做:

function nextNumber() {
  if (typeof (Storage) !== "undefined") {
    if (localStorage.clickcount) {
      var indx = localStorage.clickcount.charCodeAt(0) - 65; // Get ascii value from char
      localStorage.clickcount = String.fromCharCode(indx + 1);
    } else {
      localStorage.clickcount = "A"; // "A" has ascii value 65
    }
    Increment = localStorage.clickcount;

  } else {

  }
}

elem.setAttributeNS(null, "id", "ID " + Increment) //assigning id

基本上,您应该使用65以上的数字(这些数字表示从A开始的字符的ASCII值)。 考虑到这一点,当存储初始计数器时,它应指向“ A”,所以它是65。当递增时,应将该字符转换回ASCII值,将其递增1并转换回字符。

您可以使用字母执行某些操作,并使用如下所示的charAt函数:

let alphab="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
function nextNumber() {
  if (typeof (Storage) !== "undefined") {
    if (localStorage.clickcount) {
      localStorage.clickcount = Number(localStorage.clickcount) + 1;
    } else {
      localStorage.clickcount = 1;
    }
    Increment = localStorage.clickcount;

  } else {

  }
}

elem.setAttributeNS(null, "id", "ID " + alphab.charAt(Increment))//assigning id

但这仅限于alphab长度。 您需要为此类控件创建一个新功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM