Javascript jQuery.data()未按预期工作

Javascript jQuery.data()未按预期工作,javascript,jquery,html,Javascript,Jquery,Html,我在数据方面有问题,这是第二次了。如果在此处使用.data,则不会添加任何数据属性: 删除按钮。数据“待办事项”,待办事项 和上次一样,它的工作原理是 删除按钮。attr'data-to-do',toDoCount 我紧随其后,特别是$body //创建一个初始toDoCount变量 var toDoCount=0; //与“添加待办事项”功能关联的单击事件 $add-to-do.onclick,functionevent{ //阻止表单提交 违约事件; //从文本框中获取待办事项值并将其存储

我在数据方面有问题,这是第二次了。如果在此处使用.data,则不会添加任何数据属性:

删除按钮。数据“待办事项”,待办事项

和上次一样,它的工作原理是

删除按钮。attr'data-to-do',toDoCount

我紧随其后,特别是$body

//创建一个初始toDoCount变量 var toDoCount=0; //与“添加待办事项”功能关联的单击事件 $add-to-do.onclick,functionevent{ //阻止表单提交 违约事件; //从文本框中获取待办事项值并将其存储为变量 var thing_todo=$'to-do'.val.trim; //创建一个包含标记的新变量。 //然后以以下形式给它一个ID: //第4项、第3项或第99项,其中数字等于toDoCount。 //然后将to-do值作为文本附加到此元素。 var new_todo_element=$; 新的todo元素。attr'id',item-'+toDoCount; 新的\u todo\u元素。附加“”+事物\u todo; //根据按钮在列表中的编号创建一个具有唯一标识符的按钮。再次使用jQuery来完成此操作。 //为您的按钮提供一个名为data to do的数据属性和一个名为checkbox的类。 //最后将字母X添加到内部。 var delete_按钮=$; 删除按钮。数据“待办事项”,待办事项; //删除按钮。attr'data-to-do',toDoCount; 删除按钮。添加类“复选框”; 删除按钮。附加“X”; //将按钮附加到待办事项 新建待办事项元素。prependdelete按钮; //将按钮和toDoItem添加到ToDoS div $‘待办事项’。追加新的待办事项元素; //完成后清除文本框 $‘待办事项’.val; //添加到toDoCount toDoCount+=1; }; //当用户单击复选框时,删除特定内容 //注意:注意点击事件的异常语法。 //因为我们是在动态内容上创建点击事件,所以不能只使用通常的点击语法。 $document.body.onclick、.checkbox、函数{ //从按钮的数据属性中获取按钮的编号,并保存在名为toDoNumber的变量中。 //var项目\u id= //选择并清空以前保存待办事项编号的特定元素。 }; 做应用程序! 待办事项{ 字号:700; 字号:2em; } 我要做的事! 待办事项:
别担心,你做的一切都对。使用数据函数设置内容不会改变底层HTML,但仍然允许您稍后使用数据检索它。从文件中:

数据属性在第一次访问数据属性时被拉入,然后不再被访问或修改,所有数据值都存储在jQuery内部


这样做的原因当然是优化——为什么要在稍后通过jQuery检索HTML时编辑它呢?如果您需要实际编辑文档,attr是您的朋友。

别担心,您做的一切都很好。使用数据函数设置内容不会改变底层HTML,但仍然允许您稍后使用数据检索它。从文件中:

数据属性在第一次访问数据属性时被拉入,然后不再被访问或修改,所有数据值都存储在jQuery内部


这样做的原因当然是优化——为什么要在稍后通过jQuery检索HTML时编辑它呢?如果您需要实际编辑文档,attr是您的朋友。

显然,jQuery的.data'to-do'与html的data-to-do属性无关。。。和上一次一样,这样做有效-然后这样做。。。或者使用DOM element.dataset.todoi如果您回答它们不一样,我会接受我只有99.99%的把握,我过去根本没有研究过它。显然,jQuery的.data“to-do”与html的data to-do属性无关。。。和上一次一样,这样做有效-然后这样做。。。或者使用DOM element.dataset.todoi如果您回答它们不一样,我会接受我只有99.99%的把握,我过去根本没有研究过它,所以它就在那里,我只是在检查时看不到它。谢谢德米特里索,这就是为什么它在那里,我只是在电视上看不到它。谢谢你,德米特里