SlideShare a Scribd company logo
1 of 42
Download to read offline
jQuery勉強会#2



       丸山 亮(h13i32maru)
自己紹介

• 丸山 亮@h13i32maru
• JavaScript結構好きなプログラマー
• Python少しずつ勉強中
• 焼鳥と牛たんが好物


         https://twitter.com/h13i32maru
今日のゴール

• jQueryで使えるCSSセレクタを知る
• 丸暗記しなくて良い
 • 「こんなのあるんだ」と頭の片隅に入れておく
 • 必要なときに調べればよい
目次

• jQueryでできるアレコレ
• jQueryの技術要素
• 要素の選択(Selectors)
• 問題
jQueryでできるアレコレ
jQueryの技術要素

• 要素の選択: Selectors
• 要素の絞込み: Traversing
• 演出効果: Effects
• タグ操作: Manipulation
• ユーザ操作: Events
• 通信: Ajax
       http://docs.jquery.com/
jQueryの技術要素

• 要素の選択: Selectors
• 要素の絞込み: Traversing
• 演出効果: Effects
• タグ操作: Manipulation
• ユーザ操作: Events
• 通信: Ajax
       http://docs.jquery.com/
要素の選択: Selectors

• CSSセレクタでタグを選択する
• 沢山の種類がある
• 組み合わせるとかなり強力


 参考: CSS3対応のCSSセレクタ一覧
 http://www.coolwebwindow.com/csstips/cssbasic/000243.php
要素の選択: Selectors

• よく使うセレクタ
• 属性セレクタ
• 結合子
• 擬似要素
• グループセレクタ
要素の選択: Selectors

• よく使うセレクタ
• 属性セレクタ
• 結合セレクタ
• 擬似セレクタ
• グループセレクタ
あえて複雑なHTMLと
CSSセレクタになってる
   から注意!!
よく使うセレクタ
  $( #content span.small .active )
     <div id=”header”></div>

     <div id=”content”>
       <p class=”small”></p>
       <span class=”small”>
          <a class=”active”></a>
          <img class=”active”/>
       </span>
       <a><span></span></a>
     </div>

     </div id=”footer”></div>
よく使うセレクタ
  $( #content span.small .active )
     <div id=”header”></div>

     <div id=”content”>
       <p class=”small”></p>
       <span class=”small”>
          <a class=”active”></a>
          <img class=”active”/>
       </span>
       <a><span></span></a>
     </div>

     </div id=”footer”></div>
よく使うセレクタ
  $( #content span.small .active )
     <div id=”header”></div>

     <div id=”content”>
       <p class=”small”></p>
       <span class=”small”>
          <a class=”active”></a>
          <img class=”active”/>
       </span>
       <a><span></span></a>
     </div>

     </div id=”footer”></div>
よく使うセレクタ
  $( #content span.small .active )
     <div id=”header”></div>

     <div id=”content”>
       <p class=”small”></p>
       <span class=”small”>
          <a class=”active”></a>
          <img class=”active”/>
       </span>
       <a><span></span></a>
     </div>

     </div id=”footer”></div>
よく使うセレクタ
  $( #content span.small .active )
     <div id=”header”></div>

     <div id=”content”>
       <p class=”small”></p>
       <span class=”small”>
          <a class=”active”></a>
          <img class=”active”/>
       </span>
       <a><span></span></a>
     </div>

     </div id=”footer”></div>
よく使うセレクタ

• $( div ul ) → divの子であるul要素
• $( .title ) → classがtitleである要素
• $( #content ) → idがcontentである要素
• $( * ) → 全ての要素
要素の選択: Selectors

• よく使うセレクタ
• 属性セレクタ
• 結合セレクタ
• 擬似セレクタ
• グループセレクタ
属性セレクタ
$( div[data-name= book ] [class^= size ] )
        <div data-name=”book”>
          <span class=”size3”></span>
          <p class=”size4”></p>
          <a class=”small”></a>
        </div>

        <div data-name=”bird”/>
属性セレクタ
$( div[data-name= book ] [class^= size ] )
        <div data-name=”book”>
          <span class=”size3”></span>
          <p class=”size4”></p>
          <a class=”small”></a>
        </div>

        <div data-name=”bird”></div>
属性セレクタ
$( div[data-name= book ] [class^= size ] )
        <div data-name=”book”>
          <span class=”size3”></span>
          <p class=”size4”></p>
          <a class=”small”></a>
        </div>

        <div data-name=”bird”/>
属性セレクタ
$( div[data-name= book ] [class^= size ] )
        <div data-name=”book”>
          <span class=”size3”></span>
          <p class=”size4”></p>
          <a class=”small”></a>
        </div>

        <div data-name=”bird”/>
属性セレクタ

• $( [attr= value ] ) → attrがvalueの要素
• $( [attr^= value ]) → attrがvalueから始ま
 る要素

• $( [attr$= value ]) → attrがvalueで終わる
 要素

• $( [attr*= value ]) → attrにvalueを含む要素
要素の選択: Selectors

• よく使うセレクタ
• 属性セレクタ
• 結合セレクタ
• 擬似セレクタ
• グループセレクタ
結合セレクタ
       $( div > span + p )
   <div>
     <span></span>
     <p></p>
     <a><span></span></a>
     <p></p>
     <span></span>
   </div>

   <div></div>
   <span></span>
   <p></p>
結合セレクタ
       $( div > span + p )
   <div>
     <span></span>
     <p></p>
     <a><span></span></a>
     <p></p>
     <span></span>
   </div>

   <div></div>
   <span></span>
   <p></p>
結合セレクタ
       $( div > span + p )
   <div>
     <span></span>
     <p></p>
     <a><span></span></a>
     <p></p>
     <span></span>
   </div>

   <div></div>
   <span></span>
   <p></p>
結合セレクタ
       $( div > span + p )
   <div>
     <span></span>
     <p></p>
     <a><span></span></a>
     <p></p>
     <span></span>
   </div>

   <div></div>
   <span></span>
   <p></p>
結合セレクタ

• $( div > span ) → divの直下のspan要素(子要
  素)

• $( div + span ) → divの直後のspan要素(兄弟
  要素)

• $( div
       span ) → divの直後の全てのspan要
  素(全兄弟要素)
要素の選択: Selectors

• よく使うセレクタ
• 属性セレクタ
• 結合セレクタ
• 擬似セレクタ
• グループセレクタ
擬似セレクタ
  $( li:first-child p:nth-child(2) )
    <ul>
      <li>
         <p></p>
         <p></p>
         <p></p>
      </li>
      <li></li>
    </ul>
擬似セレクタ
  $( li:first-child p:nth-child(2) )
    <ul>
      <li>
         <p></p>
         <p></p>
         <p></p>
      </li>
      <li></li>
    </ul>
擬似セレクタ
  $( li:first-child p:nth-child(2) )
    <ul>
      <li>
         <p></p>
         <p></p>
         <p></p>
      </li>
      <li></li>
    </ul>
擬似セレクタ
  $( li:first-child p:nth-child(2) )
    <ul>
      <li>
         <p></p>
         <p></p>
         <p></p>
      </li>
      <li></li>
    </ul>
擬似セレクタ
  $( li:first-child p:nth-child(2) )
    <ul>
      <li>
         <p></p>
         <p></p>
         <p></p>
      </li>
      <li></li>
    </ul>
擬似セレクタ

• $( li:first-child ) → liの最初の要素
• $( li:last-child ) → liの最後の要素
• $( li:nth-child(2 )) → liの2番目の要素
• $( li:nth-child(odd )) → liの奇数番目の要素
• $( li:nth-child(even )) → liの偶数の要素
• $( li:nth-child(3n+1 )) → liの3n+1番目の要
 素(n = 0, 1, 2...)
要素の選択: Selectors

• よく使うセレクタ
• 属性セレクタ
• 結合セレクタ
• 擬似セレクタ
• グループセレクタ
グループセレクタ
         $( div, .block )
   <div></div>
   <p class=”block”></p>
   <p></p>
グループセレクタ
         $( div, .block )
   <div></div>
   <p class=”block”></p>
   <p></p>
グループセレクタ
         $( div, .block )
   <div></div>
   <p class=”block”></p>
   <p></p>
要素の選択: Selectors (5)

• $( div, span ) → div要素もしくはspan要素
おわり

More Related Content

What's hot

PHPerのためのSwift入門
PHPerのためのSwift入門PHPerのためのSwift入門
PHPerのためのSwift入門Tomoki Hasegawa
 
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5Nishida Kansuke
 
2012 keynote-2
2012 keynote-22012 keynote-2
2012 keynote-2kmiyako
 
20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック良太 増子
 
MTDDC Meetup Tokyo 2011:もっとディープにMovable Type
MTDDC Meetup Tokyo 2011:もっとディープにMovable TypeMTDDC Meetup Tokyo 2011:もっとディープにMovable Type
MTDDC Meetup Tokyo 2011:もっとディープにMovable TypeYujiro Araki
 
ransack, ransack, ransack
ransack, ransack, ransackransack, ransack, ransack
ransack, ransack, ransackKeisuke Ohta
 

What's hot (8)

PHPerのためのSwift入門
PHPerのためのSwift入門PHPerのためのSwift入門
PHPerのためのSwift入門
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
 
2012 keynote-2
2012 keynote-22012 keynote-2
2012 keynote-2
 
Ci tutorial
Ci tutorialCi tutorial
Ci tutorial
 
20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック
 
MTDDC Meetup Tokyo 2011:もっとディープにMovable Type
MTDDC Meetup Tokyo 2011:もっとディープにMovable TypeMTDDC Meetup Tokyo 2011:もっとディープにMovable Type
MTDDC Meetup Tokyo 2011:もっとディープにMovable Type
 
ransack, ransack, ransack
ransack, ransack, ransackransack, ransack, ransack
ransack, ransack, ransack
 

Similar to jQuery勉強会#2

最高のツイッタークライアントを求めて
最高のツイッタークライアントを求めて最高のツイッタークライアントを求めて
最高のツイッタークライアントを求めてairtoxin Ishii
 
Html5でできること。そこからwebの未来を考える。
Html5でできること。そこからwebの未来を考える。Html5でできること。そこからwebの未来を考える。
Html5でできること。そこからwebの未来を考える。Masakazu Muraoka
 
Tizen Web UI Frameworkでデザインを組み込んでみた
Tizen Web UI Frameworkでデザインを組み込んでみたTizen Web UI Frameworkでデザインを組み込んでみた
Tizen Web UI Frameworkでデザインを組み込んでみたChihiro Tomita
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210cmtomoda
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017Shigeru Hanada
 
Java ee6 with scala
Java ee6 with scalaJava ee6 with scala
Java ee6 with scalaSatoshi Kubo
 
J qmobiはjqueryから軽量化しているか
J qmobiはjqueryから軽量化しているかJ qmobiはjqueryから軽量化しているか
J qmobiはjqueryから軽量化しているかHisashi Aruji
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2Atsuo Yamasaki
 
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かきNishida Kansuke
 
第一回Miim勉強会
第一回Miim勉強会第一回Miim勉強会
第一回Miim勉強会Yuri Kawamoto
 
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報yoshikawa_t
 
SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2Nobuhiro Nakajima
 

Similar to jQuery勉強会#2 (19)

最高のツイッタークライアントを求めて
最高のツイッタークライアントを求めて最高のツイッタークライアントを求めて
最高のツイッタークライアントを求めて
 
Html5でできること。そこからwebの未来を考える。
Html5でできること。そこからwebの未来を考える。Html5でできること。そこからwebの未来を考える。
Html5でできること。そこからwebの未来を考える。
 
OSC京都2011
OSC京都2011OSC京都2011
OSC京都2011
 
Django boodoo
Django boodooDjango boodoo
Django boodoo
 
Scala with DDD
Scala with DDDScala with DDD
Scala with DDD
 
Tizen Web UI Frameworkでデザインを組み込んでみた
Tizen Web UI Frameworkでデザインを組み込んでみたTizen Web UI Frameworkでデザインを組み込んでみた
Tizen Web UI Frameworkでデザインを組み込んでみた
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017
 
Java ee6 with scala
Java ee6 with scalaJava ee6 with scala
Java ee6 with scala
 
J qmobiはjqueryから軽量化しているか
J qmobiはjqueryから軽量化しているかJ qmobiはjqueryから軽量化しているか
J qmobiはjqueryから軽量化しているか
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
 
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき
 
jQuery Mobileの基礎
jQuery Mobileの基礎jQuery Mobileの基礎
jQuery Mobileの基礎
 
AWS CLI Conference 2016
AWS CLI Conference 2016AWS CLI Conference 2016
AWS CLI Conference 2016
 
第一回Miim勉強会
第一回Miim勉強会第一回Miim勉強会
第一回Miim勉強会
 
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
 
Okinawapm#3
Okinawapm#3Okinawapm#3
Okinawapm#3
 
SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2
 

More from Ryo Maruyama

Prototypeベース in JavaScript
Prototypeベース in JavaScriptPrototypeベース in JavaScript
Prototypeベース in JavaScriptRyo Maruyama
 
Webサーバの性能測定
Webサーバの性能測定Webサーバの性能測定
Webサーバの性能測定Ryo Maruyama
 
画像を使わずにデザイン
画像を使わずにデザイン画像を使わずにデザイン
画像を使わずにデザインRyo Maruyama
 
勝手に改造 Chrome to Phone
勝手に改造 Chrome to Phone勝手に改造 Chrome to Phone
勝手に改造 Chrome to PhoneRyo Maruyama
 
レインボーテーブルを使ったハッシュの復号とSalt
レインボーテーブルを使ったハッシュの復号とSaltレインボーテーブルを使ったハッシュの復号とSalt
レインボーテーブルを使ったハッシュの復号とSaltRyo Maruyama
 
プログラミング言語Ruby 1章 イントロダクション
プログラミング言語Ruby 1章 イントロダクションプログラミング言語Ruby 1章 イントロダクション
プログラミング言語Ruby 1章 イントロダクションRyo Maruyama
 

More from Ryo Maruyama (14)

jQuery勉強会#4
jQuery勉強会#4jQuery勉強会#4
jQuery勉強会#4
 
Prototypeベース in JavaScript
Prototypeベース in JavaScriptPrototypeベース in JavaScript
Prototypeベース in JavaScript
 
Webサーバの性能測定
Webサーバの性能測定Webサーバの性能測定
Webサーバの性能測定
 
Sphinx/reST
Sphinx/reSTSphinx/reST
Sphinx/reST
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
JSDoc ToolKit
JSDoc ToolKitJSDoc ToolKit
JSDoc ToolKit
 
JavaScript入門
JavaScript入門JavaScript入門
JavaScript入門
 
画像を使わずにデザイン
画像を使わずにデザイン画像を使わずにデザイン
画像を使わずにデザイン
 
AWS Vol.1
AWS Vol.1AWS Vol.1
AWS Vol.1
 
HTML Launcher
HTML LauncherHTML Launcher
HTML Launcher
 
C2DM
C2DMC2DM
C2DM
 
勝手に改造 Chrome to Phone
勝手に改造 Chrome to Phone勝手に改造 Chrome to Phone
勝手に改造 Chrome to Phone
 
レインボーテーブルを使ったハッシュの復号とSalt
レインボーテーブルを使ったハッシュの復号とSaltレインボーテーブルを使ったハッシュの復号とSalt
レインボーテーブルを使ったハッシュの復号とSalt
 
プログラミング言語Ruby 1章 イントロダクション
プログラミング言語Ruby 1章 イントロダクションプログラミング言語Ruby 1章 イントロダクション
プログラミング言語Ruby 1章 イントロダクション
 

jQuery勉強会#2