開発者ドキュメント

jQuery filter()の例

jQueryフィルタ関数は、一致するセレクタまたは関数のテストを使用して、一致する要素のセットから要素を抽出するのに便利な機能です。

1.フィルター(セレクター)

一致する要素のセットで、filter()セレクタにのみ一致する要素を取得します。

例えば、

$("div").filter("#div1").css('background-color', 'blue');

すべてのdiv要素を一致させ、idが “div1″であるdiv要素を選択し、要素の背景色を青に変更します。

2.フィルター(関数)

一致する要素のセットで、関数のテストに合格する要素を取得します。この関数は、一致する要素のインデックスを表すindexパラメーターを内部で渡します。カウントは0からカウントされます。

例えば、

$('div').filter(function(index) {
    if(index==2 || index==3){//0 index based
        return true;
    }
}).css('background-color', 'blue');

すべてのdiv要素を一致させ、3番目(2)と4番目(3)のdiv要素のみを選択する関数でフィルタします。

$('div').filter(function(index) {
    return $("b", this).length == 1;
}).css('background-color', 'blue');

すべてのdiv要素を一致させ、<b>タグを含むdiv要素を選択する関数でフィルタします。

jQuery filter()の例

<html>
<head>
<title>jQuery filter example</title>

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

</head>

<body>

<h1>jQuery filter example</h1>

<script type="text/javascript">

  $(document).ready(function(){

    $("#filterSelector").click(function () {

    $('div').css('background-color', 'white');

    $("div").filter("#div1").css('background-color', 'blue');

    });

    $("#filterFunction").click(function () {

    $('div').css('background-color', 'white');

    $('div').filter(function(index) {
        if(index==2 || index==3){//0 index based
            return true;
        }
    }).css('background-color', 'blue');

    });

    $("#filterFunction2").click(function () {

    $('div').css('background-color', 'white');

    $('div').filter(function(index) {
        return $("b", this).length == 1;
    }).css('background-color', 'blue');

    });

  });
</script>
</head><body>

<div id="div1">
    <b>This is div 1 with 'b' tag</b>
</div>
<div id="div2">
    This is div 2
</div>
<div id="div3">
    <b>This is div 3 with 'b' tag</b>
</div>
<div id="div4">
    This is div 4
</div>

<br/>
<br/>
<br/>

<input type='button' value='filter(selector)' id='filterSelector'>
<input type='button' value='filter(index)' id='filterFunction'>
<input type='button' value='filter(index)+b' id='filterFunction2'>
</body>
</html>
モバイルバージョンを終了