Javascript 键值对中的随机变量不解释为变量
我尝试使用Javascript 键值对中的随机变量不解释为变量,javascript,jquery,Javascript,Jquery,我尝试使用key:value对将一些值存储在本地存储器中。我希望键是Math.random()中的随机值,但我的值不被视为变量 这是小提琴 代码呢 $(document).ready(function () { $(document).on('click', '.btn-primary', function(){ var num = Math.random(); $('.table tbody').append('<tr class="child"><t
key:value
对将一些值存储在本地存储器中。我希望键
是Math.random()
中的随机值,但我的值不被视为变量
这是小提琴
代码呢
$(document).ready(function () {
$(document).on('click', '.btn-primary', function(){
var num = Math.random();
$('.table tbody').append('<tr class="child"><td>one</td><td><button id="'+num+'" onClick="ae(this.id); function ae(clicked_id) {var items = []; var entry = {\'num\': clicked_id}; items.push(entry);localStorage.setItem(\'entry\',JSON.stringify(items));alert(localStorage.getItem(\'entry\',JSON.stringify(items)));}" type="button" class="invite ">Invite</button></td></tr>');
});
});
$(文档).ready(函数(){
$(文档).on('click','.btn primary',function(){
var num=Math.random();
$('.table tbody').append('oneInvite');
});
});
如何将num
视为变量?免责声明:
因此,localStorage在这些代码段中不起多大作用,但请参阅下面的代码或
代码更改
ae()
移出onClick
属性,并将其定义为常规JS函数entry
数组中,那么每次都需要将其解析为json(如果已设置),而不是生成一个新数组onclick
属性,而是为类名为invite
的元素添加一个单击处理程序,就像对类名为btn primary
的元素所做的那样功能ae(事件){
var items=JSON.parse(localStorage.getItem('entry');
if(items==null | | typeof items!==object'){
项目=[];
}
变量项={
“num”:event.target.id
};
项目。推送(进入);
setItem('entry',JSON.stringify(items));
警报(localStorage.getItem('entry');
}
$(文档).ready(函数(){
$(文档).on('click','invite','ae);
$(文档).on('click','.btn primary',function(){
var num=Math.random();
$('.table tbody').append('oneInvite');
});
});代码>
添加行
为什么假设num不被视为变量?您的代码在这方面运行得非常好。@Syntac我期望的数字不是“num”
@charlietfl十进制也可以。是的,但是您必须编写'+num+'
,而不是\'num\
。停止将所有业务逻辑放入html中。因为您使用的是jQuery,所以请改用jQuery事件处理程序。内联onClick是20世纪90年代……这是2016年