Javascript 本地存储错误

Javascript 本地存储错误,javascript,jquery,html,Javascript,Jquery,Html,请有人告诉我我写的代码有什么问题 Js Html HTML 这里有一些文本 请告诉我这里出了什么问题。当您将edit变量(包含DOM元素)作为参数传递到jQuery中时,将返回一个jQuery对象。这会将blur事件中this的范围更改为jQuery对象。jQuery没有innerHTML属性,因此它返回undefined。JavaScript DOM元素当然有一个innerHTML属性,这就是第二个示例工作的原因 修复第一个示例的一种方法是替换以下内容: $(edit).blur(funct

请有人告诉我我写的代码有什么问题

Js

Html

HTML

这里有一些文本

请告诉我这里出了什么问题。

当您将
edit
变量(包含DOM元素)作为参数传递到jQuery中时,将返回一个jQuery对象。这会将
blur
事件中
this
的范围更改为jQuery对象。jQuery没有
innerHTML
属性,因此它返回
undefined
。JavaScript DOM元素当然有一个
innerHTML
属性,这就是第二个示例工作的原因

修复第一个示例的一种方法是替换以下内容:

$(edit).blur(function() {
    localStorage.setItem("data1", this.innerHTML)
});
为此:

$(edit).blur(function() {
    localStorage.setItem("data1", $(this).html());
});

欢迎来到堆栈溢出!你能详细说明一下你的代码是如何工作的吗?你在期待什么,到底发生了什么?如果您遇到异常/错误,请发布发生该异常/错误的行以及异常/错误详细信息。请将这些详细信息添加到您的帖子中,以便其他用户能够帮助您。我看到的另一个问题是您试图将
.blur()
事件处理程序绑定到段落。段落在与段落交互时不会触发类似
blur
focus
的事件。例外情况是,它们具有值为
true
contenteditable
属性。请用第一个示例代码说明您的意图好吗?是否要将表单输入的值保存到
localStorage
,并在重新加载页面时用其内容填充段落?是的,是的。我想在
localstorage
$(function() {
            var edit = document.getElementById('demo');
            $(edit).blur(function() {
                localStorage.setItem("data1", document.getElementById("demo").innerHTML)
            });
            if (localStorage.getItem("data1")) {
                edit.innerHTML = localStorage.getItem("data1");
            }
        });
<div contenteditable="true" id="demo">Some text here</div>
$(edit).blur(function() {
    localStorage.setItem("data1", this.innerHTML)
});
$(edit).blur(function() {
    localStorage.setItem("data1", $(this).html());
});