为什么我的 $.each 调用返回的结果多于元素数量?
我在对特定类的 div 进行简单迭代时遇到困难。
有两个 div,但我得到了 14 次迭代。
$(function() {
$.each("div.container", function(){
alert( "test" );
});
});
html
<div id="div1" class="container">
</div>
<div id="div2" class="container">
</div>
任何人都可以解释我做错了什么吗?在此先感谢
I'm having trouble doing a simple iterate through divs of a particular class.
There's two divs, but I'm getting 14 iterations.
$(function() {
$.each("div.container", function(){
alert( "test" );
});
});
and the html
<div id="div1" class="container">
</div>
<div id="div2" class="container">
</div>
can anyone explain what i'm doing wrong? Thanks ahead
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
试试这个
try this
您应该使用以下内容:
$.each 之间存在很大的差异 和 .each。
第一个方法是通用迭代器函数,用于迭代数组和对象,其中后一个方法用于循环遍历 jQuery 对象的集合。
当您调用
$.each('div.container')
时,您实际上是将字符串的每个字母作为函数参数传递。由于div.container
包含 13 个(是的,13)个字符,因此迭代被调用 13 次(参见示例)。You should use the following:
There is a big difference between $.each and .each.
The first method is a generic iterator function that is used for iterating over arrays and objects, where the latter method is used for cycling through a collection of jQuery objects.
When you are calling
$.each('div.container')
, you are actually passing each letter of the string as the function argument. Sincediv.container
contains 13 (yes, 13) characters, the iteration is called 13 times (see example).如果你想使用 $.each()
你必须将 jquery 对象放在参数中而不是选择器文本中
If you want to use $.each()
You have to put the jquery objects in the parameter but not the selector text
这就是你真正需要的,哈哈。 ;D
That's all you need really, haha. ;D