【问题标题】:Get first td text to delete items in localstorage array获取第一个 td 文本以删除本地存储数组中的项目
【发布时间】:2018-06-01 01:11:22
【问题描述】:

我目前正在处理我的一个项目,以便在本地存储中构建一个购物车。除了根据给定值删除本地存储上的项目外,一切正常。

我正在使用本地存储中的数组创建一个动态表。表代码为:

    <table id="response">
    <tbody>
    <tr><td>prova</td><td>40</td><td><button class="myID" 
    onclick="deleteRow(this)">X</button></td></tr>
    <tr><td>test</td><td>30</td><td><button class="myID" 
    onclick="deleteRow(this)">X</button></td></tr>
    </tbody>
    </table>

但是,当我尝试通过单击按钮删除项目并使用同一行上的第一个 td 作为值时,以下代码无法正常工作:

   function deleteRow(r) {
   var arr = JSON.parse(localStorage.getItem('item')); 

   var value = jQuery(r).find("td:first").text;

   for (var k in arr) {
   var name = arr[k].name ;
   if (name === value) {

    arr.splice(k, 1);

    localStorage.setItem("item", JSON.stringify(arr));
     }
   else {
    alert('falso');
    }
   }   
  var i = r.parentNode.parentNode.rowIndex;
  document.getElementById("response").deleteRow(i);
   }

问题一定出在 var 值中,因为如果我给它分配一个给定值(例如“test”),该函数会清除 localstorage 数组中的对应项。

感谢您的帮助!

【问题讨论】:

    标签: javascript jquery local-storage


    【解决方案1】:

    您用于获取文本的 jQuery 选择器中存在语法错误:...find('td:first').text;

    应该是:...find('td:first').text();

    Here's a quick fiddle 使用相同的表格标记,以及一个接收整行的小点击处理程序,例如您的 deleteRow() 函数,只是为了帮助排除故障。通过正确的text() 调用,它会按照您的预期将文本值写入控制台。

    $(document).ready( function($) {
    	$('#response tr').on('click', function(e) {
      	console.log($(this).find("td:first").text());
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <table id="response">
        <tbody>
        <tr><td>prova</td><td>40</td><td><button class="myID">X</button></td></tr>
        <tr><td>test</td><td>30</td><td><button class="myID">X</button></td></tr>
        </tbody>
        </table>

    【讨论】:

    • 亲爱的 slothluvchunk 感谢您的回复,现在可以使用了!再次感谢您,下次我会更好地检查语法! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    相关资源
    最近更新 更多