单击时无法在本地存储中访问键的值

时间:2018-10-11 01:06:39

标签: javascript local-storage

我正在尝试使用本地存储使用javascript创建一个简单的留言板,用户键入他们的姓名和一些文本,然后在表格下方显示。

当我单击“删除”按钮而不是记录文本时,将其记录为“删除”(按钮的文本内容) 我有一个名为text的变量,该变量应保存用户提交的消息的文本,在这里我无法找出问题所在。

**function removeMessage(text){
    console.log(text);
}**


function fetchMessages(){
    let messages=JSON.parse(localStorage.getItem('messages'));
    const messageBoard=document.querySelector('#messageBoard');
    messageBoard.innerHTML="";
    for(let i=0; i<messages.length; i++){
        const name= messages[i].name;
        **const text=messages[i].text;**
        messageBoard.innerHTML+=
        `<div class="all">
            <div class="names">
                <h3>${name}</h3>
            </div>
            <div class="messages">
                <p>${text}</p>
                </div>
            <div class="button">
                **<a onclick="removeMessage(text)" href="#" id="delete">Remove</a>**
            </div>
        </div>`;
    }
}

1 个答案:

答案 0 :(得分:1)

单击text时没有全局变量<a onclick="removeMessage(text)" href="#" id="delete">Remove</a>text引用this.text元素的<a>,即Remove。也许您应该将removeMessage(text)替换为removeMessage(${text})或使用某种指向该条目的索引。