jQueryでセレクタは通常「$(".c1")」のように指定しますが、
「$(".c1", "#d2")」のように第2引数を指定することもできます。
では、第2引数は何を意味するかというと、第1引数の対象を第2引数で指定した要素の中のみに絞ることができます。
サンプルソース
例)ボタンを押すと、要素".c1"で"#d2"のもののみ赤字にする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Sample</title> <script src="http://code.jquery.com/jquery-3.2.1.min.js"></script> <script> $(function(){ $('#btn1').click(function(){ $(".c1", '#d2').css('color','red'); //$("#d2").find('.c1').css('color','red'); //←上の記述はこれと同じ意味 }); }); </script> </head> <body> <div id="d2">あああ<p class="c1">いいい</p></div> <div id="d3">かかか<p class="c1">ききき</p></div> <div id="d4">さささ<p class="c1">くくく</p></div> <input type="button" value="ボタン" id="btn1"> </body> </html> |
ボタンを押すと、「いいい」が赤文字になります。
解説
- セレクタに第2引数を指定すると、findメソッドを使うのと同じ意味合いがあります。
- findを使うよりもコードをスッキリと記述することができます。