因此,我的js文件中包含以下代码:
window.onload = function Equal() {
var a = 'b1'
var b = 'box1'
var bookstorname = localStorage.getItem(a)
if (bookstorname == 1) {
document.getElementById(b).setAttribute('checked','checked');
}
if (bookstorname == 0) {
document.getElementById(b).removeAttribute('checked','checked');
}
var a = 'b2'
var b = 'box2'
var bookstorname = localStorage.getItem(a)
if (bookstorname == 1) {
document.getElementById(b).setAttribute('checked','checked');
}
if (bookstorname == 0) {
document.getElementById(b).removeAttribute('checked','checked');
}
}
该函数本身并不重要(它等于在localstorage中设置的checkboxvalues),但是我执行了2次。第一次将var
a
&b
设置为'b1'
&'box1'
。然后,我再次运行脚本(相同的脚本),但将var
a
&b
设置为'b2'
&'box2'
。现在,这段代码可以用了,但是我的问题是,是否有较短的编写方式?我可以想象带有循环的某种数组,但是由于某种原因我无法使其工作。这两个变量是成对的,我知道这可能是一个愚蠢的问题,但我找不到任何答案。
您可以将通用逻辑分解为另一个功能
window.onload = function Equal() {
function extractFromStorage(a, b) {
var bookstorname = localStorage.getItem(a)
if (bookstorname == 1) {
document.getElementById(b).setAttribute('checked','checked');
}
if (bookstorname == 0) {
document.getElementById(b).removeAttribute('checked','checked');
}
}
extractFromStorage('b1', 'box1');
extractFromStorage('b2', 'box2');
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句