2010-03-13 29 views

回答

20

filter減少已匹配元素的集合,而find獲取匹配元素的後代。

3

find()匹配元素的給定的選擇的回報兒童,filter()着眼於匹配的元素,並返回那些給定的選擇相匹配。

7

查找()

find()返回選擇器匹配的被選元素的後代。

doc

說明:獲取每個元素的後代在當前匹配的元素,通過一個選擇器過濾。

濾波器()

filter()過濾基於選擇或所提供的功能的元素。

doc

描述:減少匹配元素到那些選擇匹配或傳遞函數的測試的。

7

在尋找問題的答案時,我找到了一個不錯的博客,解釋相同。這裏是link

你也試試jsfiddle

<html> 
<head> 
    <style>div{ padding:8px; border:1px solid; }</style> 
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){  
     $("#filterClick").click(function() { 
       $('div').css('background','white');  
       $('div').filter('#Fruits').css('background','red'); 
     });  

     $("#findClick").click(function() { 
       $('div').css('background','white'); 
       $('div').find('#Fruits').css('background','red'); 
     });  
    });   

    </script> 
</head> 
<body> 
    <h1>jQuery find() vs filter() example</h1> 
    <div id="Fruits"> 
     Fruits 
     <div id="Apple">Apple</div> 
     <div id="Banana">Banana</div> 
    </div>  
    <div id="Category"> 
     Category 
     <div id="Fruits">Fruits</div> 
     <div id="Animals">Animals</div> 
    </div> 
    <br/><br/><br/> 
    <input type='button' value='filter(Fruits)' id='filterClick'> 
    <input type='button' value='find(Fruits)' id='findClick'>  
</body>