搜索HTML5 localStorage值

时间:2016-03-23 12:50:56

标签: javascript html

我只是想知道如何搜索存储在本地存储中的特定值。

我尝试使用警告显示搜索值。

function search(){
   var sea = document.getElementById('searchbox').value;
   localStorage.getItem('sea',value);
   var value = $('#MyTable').find('tr#key_'+sea).children('td.two').text();
   alert(value); 
   }

但是,如果我输入的值未存储在本地存储中,则不会显示为空。

如何显示本地存储中搜索值的所有匹配值?

3 个答案:

答案 0 :(得分:1)

localStorage.getItem()的语法不正确。该方法只需要一个参数。正确的语法是:

  

var aValue = storage.getItem(keyName);

其中keyName是一个字符串,其中包含要检索其值的键的名称。该方法返回键的值。因此,您应该存储返回的值。如果密钥不存在,则返回null。

我认为你的代码应该是

var sea = localStorage.getItem(value);

答案 1 :(得分:0)

您可以通过指定要搜索的密钥从localStorage检索数据。你的语法错了。 正确的方法是:

LocalStorage.getItem(*key*)

您使用的是.setItem()语法 这是:

LocalStorage.setItem(*key*, *value*)

答案 2 :(得分:0)

您的代码逻辑应如下所示:

  1. 从搜索框中获取值,并将其存储在变量
  2. localStorage中搜索上面带有上述名称的密钥
  3. 进入DOM操作部分
  4. 代码:

    function search() {
      // Get the user's input from the page
      var searchQuery = document.getElementById('searchbox').value;
    
      // Get the item from LocalStorage
      var localStorageItem = localStorage.getItem(searchQuery);
    
      // Do your DOM manipulation magic
      var elementValue = $('#MyTable')
        .find('tr#key_' + localStorageItem)
        .children('td.two')
        .text();
    
      console.log(elementValue);
    }
    

    请注意,上述代码存在问题,因为LocalStorage中的值不存在。然后,localStorageItem将成为null,您的DOM查询.find('tr#key_' + localStorageItem)将失败。 您可能希望将DOM操作包装在if语句中,在该语句中检查localStorageItem !== null