jQuery:有没有更好的方法来编写.each()的这个块?

时间:2012-01-13 11:57:07

标签: jquery

$('.list-links-nested a').each(function(){      
  currentPage(this);
});

$("#menu-main > li > a").each(function(){
  currentPage(this);  
});

$("#menu-sub a").each(function(){      
  currentPage(this);        
});

关于如何更好地编写它而不是重复调用函数的任何建议?

更新了代码并且有效:

var links = $(".list-links-nested a, #menu-main > li > a");
links.each(currentPage);

5 个答案:

答案 0 :(得分:2)

jQuery允许用逗号分隔多个选择器(“。class1,.class2”)

参考:http://api.jquery.com/multiple-selector/

 $("#menu-sub a,#menu-main > li > a,.list-links-nested a").each(function(){      
      currentPage(this);        
    });

答案 1 :(得分:1)

您可以在字符串中使用逗号来提供多个选择器。

$(".list-links-nested a, #menu-main > li > a, #menu-sub a").each(currentPage);

您也可以将currentPage作为参数本身传递,并直接使用this,而不是您传递的参数。

答案 2 :(得分:0)

根据:http://api.jquery.com/multiple-selector/

$('.list-links-nested a,#menu-main > li > a,#menu-sub a').each(function(){      
  currentPage(this);
});

答案 3 :(得分:0)

您可以在CSS选择器中使用逗号一次选择多个内容,请参阅http://www.w3.org/TR/CSS2/selector.html#grouping

$('.list-links-nested a, #menu-main > li > a, #menu-sub a').each(function(){      
  currentPage(this);
});

答案 4 :(得分:0)


$(".list-links-nested a, #menu-main > li > a, #menu-sub a").each(function() {
  currentPage(this);
});

参考:Multi Selectors