目次
filterメソッドとは
- 要素を絞り込んで処理を行うことができます。
- 以下はjQueryサイトのfilterメソッドのリンクです。
https://api.jquery.com/filter/
filterで要素を絞り込むサンプル
ボタン1を押すと15より大きい値のテキストボックスの色が変わります。
filterメソッドの自作の関数(15より大きいか)で判定して色を付けています。
ボタン2を押すと色がクリアされます。
上記サンプルのコードです。
<input type="text" class="text1" value="23" maxlength="2">
<input type="text" class="text1" value="11" maxlength="2">
<input type="text" class="text1" value="20" maxlength="2">
<input type="text" class="text1" value="33" maxlength="2">
<input type="text" class="text1" value="12" maxlength="2">
<input type="button" id="button1" value="ボタン1" />
<input type="button" id="button2" value="ボタン2" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(function() {
$("#button1").click(function(){
const num1 = 15;
$(".text1").filter(function() {
return $(this).val() > num1;
}).css("background","LightBlue");
});
$("#button2").click(function(){
$(".text1").css("background","white");
});
});
</script>
14行目は、filterメソッドです。
15行目は、関数で要素をフィルタリングしています。各要素について、関数がtrueを返す場合、その要素は対象として残ります。関数がfalseを返す場合、その要素は除外されます。
16行目は、14,15行目で絞られた対象に対してcssメソッドで色を付けています。
関連の記事
jQuery 属性値を取得/設定/削除/画面遷移する(attr)
jQuery textメソッドとhtmlメソッドの違い
Query 繰り返し処理を行うサンプル(each)
jQuery findメソッドで子孫要素を操作する
jQuery oneメソッドで一度だけ実行する
jQuery onで複数のイベントリスナを登録