我无法通过Javascript中的变量传递数据。这要求变量周围的{}起作用。该代码实际上可以在Chrome上运行,但是我收到一个错误“ Unexpected}”,它会中断最小化。括号也显示错误。
这是一行:
history.pushState({id}, null, id)
如果我删除{}仅保留ID,则错误消失,但代码不再起作用。
这是在单页应用程序(SPA)上操作地址栏的简单代码。没有{id},后退按钮将不起作用。
这是完整的代码:
var boxes = Array.from(document.getElementsByClassName('box'));
function selectBox(id) {
boxes.forEach( function (b) {
return b.classList.toggle('selected', b.id === id);
});
}
boxes.forEach( function(b) {
var id = b.id;
b.addEventListener('click', function(e) {
history.pushState({id}, null, id);
});
});
如何在不破坏代码的情况下解决此问题?
谢谢!