Javascript 无法获取动态添加的文本
我的jQuery代码有问题。我无法访问动态添加的元素。如果我刷新页面,我可以访问它 我正在开发一个jQuery/HTML5 todo列表应用程序。在中,如果添加一个项目并点击“标记为完成”(将鼠标悬停在编号按钮上后),则该项目将从UI中删除,但不会从localStorage中删除。代码无法定位任务内容(JS行#180) 它变为空白,并且实际上没有从本地存储中删除。如果刷新页面,该项目将再次显示。现在,如果点击“markasdone”,元素将从本地存储中删除。这不是很奇怪吗 我错过了什么Javascript 无法获取动态添加的文本,javascript,jquery,html,Javascript,Jquery,Html,我的jQuery代码有问题。我无法访问动态添加的元素。如果我刷新页面,我可以访问它 我正在开发一个jQuery/HTML5 todo列表应用程序。在中,如果添加一个项目并点击“标记为完成”(将鼠标悬停在编号按钮上后),则该项目将从UI中删除,但不会从localStorage中删除。代码无法定位任务内容(JS行#180) 它变为空白,并且实际上没有从本地存储中删除。如果刷新页面,该项目将再次显示。现在,如果点击“markasdone”,元素将从本地存储中删除。这不是很奇怪吗 我错过了什么 问题是新
问题是新添加的项目没有包装到
标记中。因此,.next()
无法获取此元素,也无法获取其文本(next考虑元素节点并跳过文本节点)
因此,要修复它,您应该在addItem
方法中添加一个新项,如下所示:
$("ul").append("<li class='ui-state-default'><button class='done'>Done</button>"+
"<p class='item_content'>" + $("#new_todo_item").val() + "</p>" +
"<input type='checkbox' class='star' "+checked+" />"+
"<label for='star'>Star</label>");
$(“ul”).append(完成”+
“”+$(“#新的_todo_item”).val()+”
”+
""+
“明星”);
(与checkLocalStorageExistingData
方法中相同)
我的错!总是那件小事D在绑定新处理程序之前,必须解除绑定事件。
$("ul").append("<li class='ui-state-default'><button class='done'>Done</button>"+
"<p class='item_content'>" + $("#new_todo_item").val() + "</p>" +
"<input type='checkbox' class='star' "+checked+" />"+
"<label for='star'>Star</label>");