zoukankan      html  css  js  c++  java
  • jquery find()和filter()的区别

    在写js查找当前标签下某一子元素的子元素集合时,用到了此方法

    1 $(".flyout-trigger").mouseover(function(){
    2    var maxnum=$(this).find(".flyout-link").children().filter("dt").size();
    3    $(this).children(".flyout-link").show();
    4    $(this).children(".flyout-link").animate({
    5        height:maxnum*26+'px'
    6    });
    7  });

    搜了一下关于find()和filter()的用法

    函数的区别,文档上面是这么写的:

    find(expr):搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法

    filter(expr):筛选出与指定表达式匹配的元素集合。这个方法用于缩小匹配的范围。用逗号分隔多个表达式

     1 <html>
     2 <head>
     3 <script src="http://code.jquery.com/jquery-latest.js"></script>
     4 <script type="text/javascript">
     5     $(function(){
     6        alert($("p").find(".selected").html()); // find html
     7        alert($("p").filter(".selected").html()); // filter html
     8     });
     9 </script>
    10 </head>
    11 <body>
    12 <p>html</p>
    13 <p><span class="selected">find html</span></p>
    14 <p class="selected">filter html</p>
    15 </body>
    16 </html>

    也许你已经看出它们的区别了,find()会在p元素内寻找class为selected的元素。

    而filter()则是筛选p的class为selected的元素。

    一个是对它的子集操作,一个是对自身集合元素筛选.

  • 相关阅读:
    Leetcode 290 Word Pattern
    Leetcode 205 Isomorphic Strings
    Leetcode 345 Reverse Vowels in a String
    Leetcode 151 Reverse Words in a String
    Leetcode 344 Reverse String
    Leetcode 383 Ransom Note
    leetcode 387 First Unique Character in a String
    反码补码和位运算
    SpringBoot进阶
    布隆过滤器
  • 原文地址:https://www.cnblogs.com/zmh7057/p/3806687.html
Copyright © 2011-2022 走看看