Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改JQuery中新附加的元素_Jquery - Fatal编程技术网

更改JQuery中新附加的元素

更改JQuery中新附加的元素,jquery,Jquery,因此,当我勾选原始框时,它们消失了。但是,当您切换列表并显示新复选框时,当您选中它时,它不会消失。为什么? 编辑:我对代码进行了更改以反映答案。我现在想知道为什么在按enter键时默认删除文本框,而新出现的文本框却没有 $(文档).ready(函数(){ $(document).on(“click”,“.items”,function()){ $(this.remove(); }); $(“li”)。单击(函数(){ $(“li”).removeAttr(“类”); $(this.attr(“

因此,当我勾选原始框时,它们消失了。但是,当您切换列表并显示新复选框时,当您选中它时,它不会消失。为什么?

编辑:我对代码进行了更改以反映答案。我现在想知道为什么在按enter键时默认删除文本框,而新出现的文本框却没有

$(文档).ready(函数(){
$(document).on(“click”,“.items”,function()){
$(this.remove();
});
$(“li”)。单击(函数(){
$(“li”).removeAttr(“类”);
$(this.attr(“class”,“selectedlist”);
$(“.items”).remove();
$(“#itemsbar”).append('\
新框~');
});
$(“#itemsbar>p”)。单击(函数(){
$(this.remove();
$(“#itemsbar”)。附加(“”);
});
$(document).on(“keyup”、'.addnew',函数(e){
如果(e.which==13){
$(this.remove();
e、 预防默认值();
}
});
});

待办事项清单
    测试列表 测试列表2
复选框1 复选框2 单击以添加

更改

$(".items").click(function () {


您正在将文档绑定到文档中的项目,因此当您打开新项目时,它不会将此侦听器绑定到该项目。

绑定问题。重新绑定事件或将事件委派给父级。一切都会好起来的。我会把它绑定到文档本身,对吗?那它为什么不起作用呢?在我的训练中,我从未见过这样的事情。所以我不确定我是否理解这个概念。现在我觉得我缺少了JQuery的一个基本概念。@Paul您在页面上添加的li单击项不在文档的开头。当你说$(“.items”).click(函数(){inside document ready-你说的任何东西都会与这个click侦听器绑定。你要绑定的项目当前不在那里,所以它们不会绑定,所以当你说$(document)时。在(“click”,“.items”,函数()上{,您可以在文档内部扫描任何具有类items的内容以触发事件。@Paul我们绑定到文档而不是.items本身,因此无论项目是来还是去,它都会检查文档内部,并且在您的情况下,您绑定到存在的元素-因此,如果它们不在页面上,则d、 或者离开页面,他们会失去绑定。我尝试了同样的策略,在按下enter键时使一个新的文本框消失。不再工作,所以可能这太复杂了?我在我原来的帖子中更新了代码,谢谢你的帮助!
 $(document).on("click",".items",function() {