无法理解为什么这个错误(Uncaught TypeError:$(...)。是(...)。每个都不是函数)上了?

时间:2018-02-25 13:18:05

标签: jquery

我正在做一个简单的代码来附加复选框的值,我遇到了这个错误。对我来说,为什么会出现这个错误,这是一个谜。我已经找到了正确编写它的方法,但我非常想知道为什么会出现这个错误?尝试了之前提出的问题中给出的技术,但它不起作用 - jquery - is not a function error

Code with error:

$(document).ready(function(){
	$("input[type='checkbox']").click(function(){
		
		$("#msg").html(" ");
		
		 $("input[type='checkbox']").is(':checked').each(function(){
			$("#msg").append(this.value);
			
			})
		})	
	
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="fruits[]" value="mango">mango
<input type="checkbox" name="fruits[]" value="apple">apple
<input type="checkbox" name="fruits[]" value="cherry">cherry
<div id="msg"></div>

Correct Code:

$(document).ready(function(){
	$("input[type='checkbox']").click(function(){
		
		$("#msg").html(" ");
		
		 $("input[type='checkbox']:checked").each(function(){
			$("#msg").append(this.value);
			
			})
		})	
	
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="fruits[]" value="mango">mango
<input type="checkbox" name="fruits[]" value="apple">apple
<input type="checkbox" name="fruits[]" value="cherry">cherry
<div id="msg"></div>

1 个答案:

答案 0 :(得分:2)

$("input[type='checkbox']").is(':checked')是一个返回布尔值(true / false)的测试。 true.each()没有意义,false.each()也没有意义。

$("input[type='checkbox']:checked")返回集合的jQuery元素,您可以使用$.each进行迭代。