首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery filter() Vs Jquery

Jquery filter() Vs Jquery
EN

Stack Overflow用户
提问于 2016-06-13 20:38:02
回答 3查看 1.5K关注 0票数 0

jQuery filter()each()方法有什么不同?

因为两者都用于在集合上应用循环。

我听说过可以按集合类型过滤的filter()方法。

EN

回答 3

Stack Overflow用户

发布于 2016-06-13 20:42:22

.each() =>它将简单地循环遍历所有的记录

例如。

代码语言:javascript
复制
 <ul>
     <li>list item 1</li>
     <li>list item 2</li>
     <li>list item 3</li>
     <li>list item 4</li>
     <li>list item 5</li>
     <li>list item 6</li>
  </ul>

  $(li).each(function() { // it will return all li and set its css
      $(this).css( "background-color", "red" );
  });

filter() =>它将只返回满足某些条件的记录

例如。

代码语言:javascript
复制
<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li>list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
  <li>list item 6</li>
</ul>

$( "li" ).filter( ":even" ).css( "background-color", "red" ); // it will only set css to even li
票数 2
EN

Stack Overflow用户

发布于 2016-06-13 20:42:34

$.filter返回满足给定条件的项的集合,而$.each迭代项的集合。

票数 2
EN

Stack Overflow用户

发布于 2016-06-13 21:07:30

我倾向于将.each()看作是终止for循环的一种简明的jQuery方式。

例如:

代码语言:javascript
复制
var i = 0;
$("#list1 li").each(function() {
  console.log("Looped through list item number: " + i++);
})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<ul id="list1">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
</ul>

在Vanilla JS中也可以这样写:

代码语言:javascript
复制
var list = document.getElementById("list2");
var items = list.getElementsByTagName("li");
for(var i = 0; i < items.length; i++) {
  console.log("Looped through item number: " + i);
}
代码语言:javascript
复制
<ul id="list2">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
</ul>

顾名思义,使用filter()可以过滤出一组匹配的对象,如下所示:

代码语言:javascript
复制
$("li").filter(":first-child").addClass("test");
代码语言:javascript
复制
.test {
  background-color: yellow;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<ul>
  <li>Number 1</li>
  <li>Number 1</li>
  <li>Number 1</li>
  <li>Number 1</li>
</ul>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37790068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档