Javascript 是什么导致jQuery函数无法运行?
我不明白为什么jQuery函数不能在这里与html一起工作 JS小提琴:Javascript 是什么导致jQuery函数无法运行?,javascript,jquery,function,events,Javascript,Jquery,Function,Events,我不明白为什么jQuery函数不能在这里与html一起工作 JS小提琴: 函数addItem(){ $(“#列表”)。追加(“项””; } 函数removietem(){ $('#list').children().filter(函数(){ 返回此.firstChild.checked; }).remove(); } 我没有看到带有id=“list”的元素,这就是#list所指的元素 我想你指的是列出的物品。改变它,它就工作了。我没有看到一个元素带有id=“list”,这就是#list所指的 我
函数addItem(){
$(“#列表”)。追加(“项” ”;
}
函数removietem(){
$('#list').children().filter(函数(){
返回此.firstChild.checked;
}).remove();
}
我没有看到带有id=“list”
的元素,这就是#list
所指的元素
我想你指的是列出的物品。改变它,它就工作了。我没有看到一个元素带有
id=“list”
,这就是#list
所指的
我想你指的是列出的物品。改变它,它就会工作我会从输入的
id
中获取值。我还将为更干净的编码分配一个单击事件。下面是一个小提琴添加项目的示例。删除一个项目只是反转
演示
$('#输入')。单击(函数(){
var Val=$('#item').Val();
$(“#列出的项目”)。追加(“”+Val+” );
});
我将从输入id
中获取值。我还将为更干净的编码分配一个单击事件。下面是一个小提琴添加项目的示例。删除一个项目只是反转
演示
$('#输入')。单击(函数(){
var Val=$('#item').Val();
$(“#列出的项目”)。追加(“”+Val+” );
});
您的HTML中没有#列表您的HTML中没有id为list
的元素。另外,您不应该使用内联事件处理程序。@minitech我不认为当有多人参与解决问题时,这个问题是如何偏离主题的。“这个问题是由一个无法再复制的问题或一个简单的印刷错误引起的。虽然类似的问题可能在这里的主题,这是一个解决的方式不太可能帮助未来的读者。这通常可以通过在发布前确定并仔细检查重现问题所需的最短程序来避免。“–MiniTech您的HTML中没有#列表您的HTML中没有任何id为list
的元素。另外,您不应该使用内联事件处理程序。@minitech我不认为当有多人参与解决问题时,这个问题是如何偏离主题的。“这个问题是由一个无法再复制的问题或一个简单的印刷错误引起的。虽然类似的问题可能在这里的主题,这是一个解决的方式不太可能帮助未来的读者。这通常可以通过在发布前识别并仔细检查重现问题所需的最短程序来避免。”–MinitechID应该出现在按钮或表格中吗?即,将$(“#列表”)
替换为$(“#项目列表”)
。我觉得自己太天真了。我是按照你的建议做的,这不是你的错-JSFIDLE要求你将它改为“无包装体”“这样在全局范围内运行函数。您可能希望使用jquery dom ready并单击事件,而不是像这样的onlick。这是因为您的硬编码项作为附加内容。我已经重写了您的脚本,以使用纯jQuery,并在添加项后清除输入值:id应该出现在按钮或表单中吗?例如,将$(“#列表”)
替换为$(“#项列表”)
。我觉得太天真了。我是按照你的建议做的,这不是你的错——JSFIDLE要求你把它改为“无包装体”,这样才能在全局范围内运行函数。您可能希望使用jquery dom ready并单击事件,而不是像这样的onlick。这是因为您的硬编码项作为附加内容。我稍微重写了您的脚本,以使用纯jQuery并在添加项后清除输入值:
function addItem() {
$('#list').append('<li><input type="checkbox" /> item</li>');
}
function removeItem() {
$('#list').children().filter(function () {
return this.firstChild.checked;
}).remove();
}
$('#Enter').click(function(){
var Val = $('#item').val();
$('#items-listed').append('<li><input type="checkbox" />'+Val+'</li>');
});