今回はjqueryの.find( )を使用した、条件分岐をご紹介いたします。
<仕様>
・item04とitem06,item07を.find( )で見つけて、それぞれjqueryのaddClass( )を用いて文字色を変更します
それでは、解説。
○index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/normalize.css"> <link rel="stylesheet" href="css/sanitize.css"> <link rel="stylesheet" href="css/common.css"> <title>デモ</title> <meta name="description" content=""> <meta name="keywords" content=""> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="css/index.css"> </head> <body> <!--header--> <header></header> <main ontouchstart=""> <div class="backgroundBox"> <div class="Container"> <p class="item01">item01</p> <p class="item02">item02</p> <p class="item03">item03</p> <p class="item04">item04</p> <p class="item05">item05</p> <div class="box"> <p class="item06">item06</p> <p class="item07">item07</p> </div> <div class="box"> <p class="item08">item08</p> <p class="item09">item09</p> </div> </div> </div> </main> <!--footer--> <footer> <script src="js/jquery-2.0.0.min.js"></script> <script src="js/common.js"></script> </footer> </body> </html>
・Containe直下にitem01~item05とboxが二つあります
○index.css
.Container { max-width: 960px; padding: 20px; margin: 0 auto 20px; background-color: #9e9e9e40; } .red { color: red; } .blue { color: blue; }
・addClass用にredとblueを用意
○common.js
$(function() { var target01 = $('.Container').find('.item04'); $(target01).addClass("red"); var target02 = $('.Container').find('.box'); if(target02.length = 2){ var target03 = $('.Container').find('.box').first(); $(target03).addClass("blue"); } console.log(target01); console.log(target02); console.log(target02.length); console.log(target03); });
・var 〇〇で変数を宣言target01,target02,target03が変数
①
・target01はContainer要素から、item04という名前のクラスを取得
・その後target01に取得した要素が入っているので、redというクラスを追加
②
・target02はContainer要素から、boxという名前のクラスを取得
・target02.lengthで取得した要素の個数が分かるので、要素の数が2個の時ifの中身を実行
③
・target03はContainer要素から、boxという名前のクラスの最初の一つを取得
・その後target03に取得した要素が入っているので、blueというクラスを追加
③ように、.find( )は.first( )などと同時に使用することで検索の幅が広がります。
今回は以上です。