javascript - “onclick”存储值不起作用

标签 javascript jquery html onclick web-storage

所以我有这个<a>标签:

   <a href="/book-testdrive" class="addtocart" value="YX57WDL" title="Book Test Drive">
     <i class="glyphicon glyphicon-road"></i>
     <span>&nbsp;Book Test Drive</span>
   </a>

如您所见,它的值为 value="YX57WDL"现在我想做的是在单击 a 标记并将其放入变量中时捕获该值。

有很多<a>我的页面上的标签具有许多动态创建的不同值。如果用户按下另一个标签,我希望它存储在同一个变量中,但将该值替换为唯一的 <a> 的值标签值。

此外,变量需要在站点范围内存储,我想解决这个问题的方法是 Web Storage API。

到目前为止,我已经尝试过使用这个 Javascript:

var links = document.querySelectorAll('.addtocart ');

links.onclick = function(){
  localstorage['storedValue'] = this.value ;
}

但是,当我 console.log() 链接变量时,它不包含任何内容。

知道为什么会发生这种情况吗?

谢谢

最佳答案

问题是 document.querySelectorAll返回(非事件)节点列表。这意味着它基本上是一个数组,因此您可以为每个数组执行一个循环:

for (var i = 0; i < links.length; i++) {
    links[i].onclick = function(){
        localStorage['storedValue'] = this.value ;
    }
}

另请注意,我将 localstorage 更改为 localStorage,因为它区分大小写。

关于javascript - “onclick”存储值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31951134/

相关文章:

javascript - 添加第二个 iFrame 时防止 iFrame 刷新

java - JSP - 如何创建从一个 jsp 页面到另一个 jsp 页面的链接

javascript - jsrender 模板中的 if 条件

javascript - 尝试编写一个 for 循环来按此顺序警告每个项目,而不为每个项目编写alert()?

javascript - 更改标签但保留属性和内容 -- jQuery/Javascript

Javascript 将表格单元格从一行的末尾更改为自己的表格行 - 这可能吗

javascript - WebRTC 从不触发 IceCandidate

jquery - ajax提交后如何将浏览器视口(viewport)滚动到页面顶部?

jquery - 模拟 Ajax 失败以进行 QA 测试

javascript - 在一段时间后一张一张地显示图像