Javascript 为什么my$。每次调用返回的结果都多于元素数?
我在对特定类的div进行简单迭代时遇到问题 有两个div,但我有14次迭代Javascript 为什么my$。每次调用返回的结果都多于元素数?,javascript,jquery,iteration,Javascript,Jquery,Iteration,我在对特定类的div进行简单迭代时遇到问题 有两个div,但我有14次迭代 $(function() { $.each("div.container", function(){ alert( "test" ); }); }); 还有html <div id="div1" class="container"> </div> <div id="div2" class="container"> </d
$(function() {
$.each("div.container", function(){
alert( "test" );
});
});
还有html
<div id="div1" class="container">
</div>
<div id="div2" class="container">
</div>
谁能解释我做错了什么?谢谢大家试试这个
$(function() {
$("div.container").each( function(){
alert( "test" );
});
});
您应该使用以下选项:
$(function() {
$("div.container").each( function(){
alert( "test" );
});
});
和之间有很大的差别
第一种方法是泛型迭代器函数,用于迭代数组和对象,其中后一种方法用于循环遍历jQuery对象集合
调用$.each('div.container')
时,实际上是将字符串的每个字母作为函数参数传递。由于div.container
包含13个(是的,13个)字符,因此迭代被调用13次()。如果要使用$.each()
您必须将jquery对象放在参数中,但不能放在选择器文本中
$(function() {
$.each($("div.container"), function(){
alert( "test" );
});
});
这就是你真正需要的,哈哈;D$。each:和$()。each():是不同的。我想你得到的是13次迭代,而不是14次。您正在迭代“div.container”中的字符:)谢谢你的详细解释。
$(function() {
$.each($("div.container"), function(){
alert( "test" );
});
});
$('div.container').each(function () {
alert('test');
});