HTML5 sessionStorage:变量未存储在<li> onclick属性

时间:2016-01-12 16:38:51

标签: javascript html5 onclick session-storage

我想知道为什么这个onclick在这个div上工作:

<div id="block-block-contact" class="block-factice expanded" onclick="sessionStorage.contactclass=this.className ">

但不是这个李

 <li id="dhtml_menu-1895" class="first collapsed dhtml-menu collapsed start-collapsed menu-1895" onclick="sessionStorage.menu1895=this.className">

意思是当我点击div时,它会存储contactclass变量,而当我点击li时,它不会存储menu1895变量

2 个答案:

答案 0 :(得分:2)

Matoeil,

请你检查一下 https://jsfiddle.net/612ee2df/

 <ul>
  <li id="dhtml_menu-1895" class="first collapsed dhtml-menu collapsed    start-collapsed menu-1895" onclick="sessionStorage.menu1895=this.className">
   Test
  </li>
</ul>

的jQuery

$(document).ready(function(e)
{
  $('ul li').on('click',function(e)
  {
      var cls = $(this).attr('class');
      alert(cls);
      sessionStorage.menu1895 = cls;
  })
 })

因为我尝试了你的代码片段而不是JavaScript,我使用了jQuery&amp;它将值保存在会话存储中。

答案 1 :(得分:0)

另一个事件与此元素相关联。 去除我所做的所有事件监听器

var old_element=document.getElementById("dhtml_menu-1895");     
var new_element = old_element.cloneNode(true);
old_element.parentNode.replaceChild(new_element, old_element);  

现在可行了