如何在jQuery中正确使用each()?

时间:2011-09-29 01:00:22

标签: javascript jquery

我有以下内容:

  <div class="io-section-header">
  <ul>
    <li class="advanced">Eat</li>
    <li class="advanced">Sleep</li>
    <li class="advanced">Be merry</li>
  </ul>
 </div>

我有jQuery(与click()处理程序绑定:

$('io-section-header').each(function() {
                $("li").siblings(".advanced").toggle('fast',function(){});
            });

为什么列表项没有切换?

4 个答案:

答案 0 :(得分:3)

您只需在班级选择器之前添加一个点。

$('.io-section-header').each(function() {
                $("li").siblings(".advanced").toggle('fast',function(){});
});

jsFiddle

答案 1 :(得分:3)

我认为您实际上不需要each()语句来表达您想要做的事情。这应该可以正常工作。

$('.io-section-header li').siblings(".advanced").toggle('fast');

这是一个小提琴http://jsfiddle.net/8kpcn/1/


事实上,这也会做同样的事情

$('.io-section-header li.advanced').toggle('fast');

http://jsfiddle.net/8kpcn/2/

答案 2 :(得分:2)

回调函数需要一些参数。

$('.io-section-header').each(function(index, Element) {
    //Do whatever you need to do with each of them here.
    //The current element in this iteration is in `Element`
});

答案 3 :(得分:2)

试试这个:

$('.io-section-header li').each(function() {
    $(this).siblings(".advanced").toggle('fast');
});

jsFiddle