開発者ドキュメント

jQueryのfilter()とfind()の違い


filter()



find()

メソッドは非常に似ていますが、前者はすべての要素後者は子要素のみを検索します。

シンプルに

  1. filter() – すべての要素を検索します.

  2. find() – すべての子要素だけを検索します.

jQuery filter()とfind()の例

<html>
<head>

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>

<style type="text/css">
    div{
        padding:8px;
        border:1px solid;
    }
</style>

</head>

<body>

<h1>jQuery find() vs filter() example</h1>

<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>

<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>
</html>
モバイルバージョンを終了