javascript - 如何在本地存储中存储字母而不是 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 并转换回字符。
推荐阅读
- c++ - 如何为链表创建复制构造函数?
- java - 如何计算多个数组中所有元素的频率?
- python - 更改链接到标签的变量后如何更新 Tkinter 标签?
- swift - UIButton 不会指向目标
- python - Python:如何在 tkinter 窗口中显示 Twisted reactor 收到的 UDP 消息?
- web-scraping - 如何使用 Headless Chrome Node.js API 避免“请验证您是人类”?
- python - 使用 discord.py,我如何创建一个不断更新文件以反映点系统的机器人?
- angular - 更新角材料中的次要或对比色
- python - python 2d矩阵操作需要没有numpy的帮助
- lisp - Common Lisp 中的关联函数和 2 个问题