Javascript 获取第一个td文本以删除localstorage阵列中的项
我目前正在进行一个项目,以便在localstorage中构建购物车。除了根据给定的值删除本地存储上的项外,其他所有操作都有效 我正在使用localstorage中的数组创建一个动态表。表格代码为:Javascript 获取第一个td文本以删除localstorage阵列中的项,javascript,jquery,local-storage,Javascript,Jquery,Local Storage,我目前正在进行一个项目,以便在localstorage中构建购物车。除了根据给定的值删除本地存储上的项外,其他所有操作都有效 我正在使用localstorage中的数组创建一个动态表。表格代码为: <table id="response"> <tbody> <tr><td>prova</td><td>40</td><td><button class="myID"
<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>
问题一定出在var值中,因为如果我给它指定了一个给定的值(例如“test”),则函数会清除localstorage数组中的correspondent项
谢谢你的帮助 用于获取文本的jQuery选择器中存在语法错误:
…find('td:first')。text代码>
它应该是:…find('td:first').text()代码>
使用相同的表标记和接收整行的单击处理程序,如deleteRow()
函数,以帮助进行故障排除。使用正确的text()
调用,它会将文本值按预期写入控制台
$(文档).ready(函数($){
$('#response tr')。在('click',函数(e)上{
log($(this.find(“td:first”).text());
});
});代码>
prova40X
test30X
亲爱的SlothlowChunk谢谢您的回复,它现在可以工作了!再次感谢您,下次我将更好地检查语法!:)
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);
}