SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
jQuery勉強会#3


             2012/10/12
      丸山 亮@h13i32maru
自己紹介

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


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

• CSSセレクタだけではできない要素の絞込みを
 知る

• たくさんあるので、「こんなのあるんだー」程度
 でOK
jQueryの技術要素

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

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

• Selectors API(CSSセレクタ)だけでは選択で
 きない要素の絞込みができる

• 絞込みだけじゃなくて、縦横無尽に選択も可能
絞り込みの種類

• 自要素の絞込み
• 子要素の絞込み
• 親要素の絞込み
• 兄弟要素の絞込み
• 操作
• each()
絞り込みの種類

• 自要素の絞込み
• 子要素の絞込み
• 親要素の絞込み
• 兄弟要素の絞込み
• 操作
• each()
自要素の絞込み
      $( div, span ).filter( .small )
<div>
  <span>A</span>
  <span class="small">A</span>
  <span class="small">A</span>
</div>

<div class="small">A</div>
自要素の絞込み
      $( div, span ).filter( .small )
<div>
  <span>A</span>
  <span class="small">A</span>
  <span class="small">A</span>
</div>

<div class="small">A</div>
自要素の絞込み
      $( div, span ).filter( .small )
<div>
  <span>A</span>
  <span class="small">A</span>
  <span class="small">A</span>
</div>

<div class="small">A</div>
CSSセレクタと比較
   $( div, span ).filter( .small )



    $( div.small, span.small )


     .small が重複してる!!!
自要素の絞込み

• .filter( .small ) → .smallの要素だけに絞込み
• .first() → 最初の要素だけに絞込み
• .last() → 最後の要素だけに絞込み
• .eq(3) → 3番目の要素だけに絞込み
• .slice(1, 3) → 1番目から3番目の要素だけに絞
 込み

• .has( li ) → li要素を持つ要素だけに絞込み
絞り込みの種類

• 自要素の絞込み
• 子要素の絞込み
• 親要素の絞込み
• 兄弟要素の絞込み
• 操作
• each()
子要素の絞込み
    $('div').find('.small, .medium')
<div>
  <span class="small">A</span>
  <div>
     <span class="medium">A</span>
     <span>A</span>
  </div>
</div>

<p>
  <span class="small">A</span>
</p>
子要素の絞込み
    $('div').find('.small, .medium')
<div>
  <span class="small">A</span>
  <span class="medium">A</span>
  <span>A</span>
</div>

<p>
  <span class="small">A</span>
</p>
子要素の絞込み
    $('div').find('.small, .medium')
<div>
  <span class="small">A</span>
  <span class="medium">A</span>
  <span>A</span>
</div>

<p>
  <span class="small">A</span>
</p>
CSSセレクタと比較
  $('div').find('.small, .medium')



   $('div .small, div .medium')


     div が重複してる!!!
子要素の絞込み

• .find( .small ) → 子要素(孫要素含む)のう
 ち.smallだけを絞込み

• .children( .small ) → 子要素(孫要素含まない)
 のうち.smallだけを絞込み
絞り込みの種類

• 自要素の絞込み
• 子要素の絞込み
• 親要素の絞込み
• 兄弟要素の絞込み
• 操作
• each()
親要素の絞込み
           $('.small').parent()
<div>
  <span>A</span>
  <span class="small">A<span>
</div>

<div>
  <span>A</span>
  <span class="medium">A</span>
</div>
親要素の絞込み
           $('.small').parent()
<div>
  <span>A</span>
  <span class="small">A<span>
</div>

<div>
  <span>A</span>
  <span class="medium">A</span>
</div>
親要素の絞込み
           $('.small').parent()
<div>
  <span>A</span>
  <span class="small">A<span>
</div>

<div>
  <span>A</span>
  <span class="medium">A</span>
</div>
CSSセレクタと比較
     $('.small').parent()



       できない!!!
親要素の絞込み

• .parent() → 親要素(一つ上のみ)を選択
• .parents() → 親要素(先祖要素)を選択
絞り込みの種類

• 自要素の絞込み
• 子要素の絞込み
• 親要素の絞込み
• 兄弟要素の絞込み
• 操作
• each()
兄弟要素の絞込み
            $('.small').prev()
<div>
  <span>A</span>
  <span class="small">A<span>
</div>

<div>
  <span>A</span>
  <span class="medium">A</span>
</div>
親要素の絞込み
            $('.small').prev()
<div>
  <span>A</span>
  <span class="small">A<span>
</div>

<div>
  <span>A</span>
  <span class="medium">A</span>
</div>
親要素の絞込み
            $('.small').prev()
<div>
  <span>A</span>
  <span class="small">A<span>
</div>

<div>
  <span>A</span>
  <span class="medium">A</span>
</div>
CSSセレクタと比較
      $('.small').prev()



       できない!!!
兄弟要素の絞込み

• .prev() → 直前の要素を選択
• .prevAll() → 直前の全ての要素を選択
• .next() → 直後の要素を選択
• .nextAll() → 直後の全ての要素を選択
• .siblings() → 直前と直後の全ての要素を選択
絞り込みの種類

• 自要素の絞込み
• 子要素の絞込み
• 親要素の絞込み
• 兄弟要素の絞込み
• 操作
• each()
操作
       $('.small').next().andSelf()
<ul>
 <li>A</li>
 <li>A</li>
 <li class="small">A</li>
 <li>A</li>
 <li>A</li>
</ul>
操作
       $('.small').next().andSelf()
<ul>
 <li>A</li>
 <li>A</li>
 <li class="small">A</li>
 <li>A</li>
 <li>A</li>
</ul>
操作
       $('.small').next().andSelf()
<ul>
 <li>A</li>
 <li>A</li>
 <li class="small">A</li>
 <li>A</li>
 <li>A</li>
</ul>
操作
       $('.small').next().andSelf()
<ul>
 <li>A</li>
 <li>A</li>
 <li class="small">A</li>
 <li>A</li>
 <li>A</li>
</ul>
CSSセレクタと比較
   $('.small').next().andSelf()



      $('.small + *, .small ')

       .smallが重複!!!
操作

• .andSelf() → 自要素を追加する
• .add( .small ) → .smallの要素を追加する
絞り込みの種類

• 自要素の絞込み
• 子要素の絞込み
• 親要素の絞込み
• 兄弟要素の絞込み
• 操作
• each()
each()
$('li').each(function(index, elm){
  alert("No." + index + " is " + $(elm).text());
});
  <ul>
   <li>A</li>
   <li>B</li>
   <li>C</li>
  </ul>
操作
$('li').each(function(index, elm){
  alert("No." + index + " is " + $(elm).text());
});
  <ul>
   <li>A</li>
   <li>B</li>
   <li>C</li>
  </ul>
操作
$('li').each(function(index, elm){
  alert("No." + index + " is " + $(elm).text());
});
  <ul>
   <li>A</li>
   <li>B</li>
   <li>C</li>
  </ul>
操作
$('li').each(function(index, elm){
  alert("No." + index + " is " + $(elm).text());
});
  <ul>
   <li>A</li>
   <li>B</li>
   <li>C</li>
  </ul>
操作
$('li').each(function(index, elm){
  alert("No." + index + " is " + $(elm).text());
});
  <ul>
   <li>A</li>
   <li>B</li>
   <li>C</li>
  </ul>
each()

• each()は選択した要素を順番に走査して、処理
 を行う

• jQueryではよく使われる機能
おわり

Más contenido relacionado

La actualidad más candente (9)

忙しい人のためのBackbone.jsとAngular.js入門
忙しい人のためのBackbone.jsとAngular.js入門忙しい人のためのBackbone.jsとAngular.js入門
忙しい人のためのBackbone.jsとAngular.js入門
 
Angular js or_backbonejs
Angular js or_backbonejsAngular js or_backbonejs
Angular js or_backbonejs
 
Kawaz的jQuery入門
Kawaz的jQuery入門Kawaz的jQuery入門
Kawaz的jQuery入門
 
まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?
 
Java ee6 with scala
Java ee6 with scalaJava ee6 with scala
Java ee6 with scala
 
No3
No3No3
No3
 
20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック
 
Knockout
KnockoutKnockout
Knockout
 
J query place
J query placeJ query place
J query place
 

Similar a jQuery勉強会#3

Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210
cmtomoda
 
Html5でできること。そこからwebの未来を考える。
Html5でできること。そこからwebの未来を考える。Html5でできること。そこからwebの未来を考える。
Html5でできること。そこからwebの未来を考える。
Masakazu Muraoka
 
WordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうWordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょう
Hishikawa Takuro
 

Similar a jQuery勉強会#3 (20)

はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
HTML5 ビギナーのための AngularJS
HTML5 ビギナーのための AngularJSHTML5 ビギナーのための AngularJS
HTML5 ビギナーのための AngularJS
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210
 
Html5でできること。そこからwebの未来を考える。
Html5でできること。そこからwebの未来を考える。Html5でできること。そこからwebの未来を考える。
Html5でできること。そこからwebの未来を考える。
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
 
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
 
jQuery Mobileの基礎
jQuery Mobileの基礎jQuery Mobileの基礎
jQuery Mobileの基礎
 
公式page改ざんで学ぶjQuery入門 (jscafe7)
公式page改ざんで学ぶjQuery入門 (jscafe7)公式page改ざんで学ぶjQuery入門 (jscafe7)
公式page改ざんで学ぶjQuery入門 (jscafe7)
 
WordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうWordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょう
 
OSC京都2011
OSC京都2011OSC京都2011
OSC京都2011
 
jQuery超入門編
jQuery超入門編jQuery超入門編
jQuery超入門編
 
laravel x モバイルアプリ
laravel x モバイルアプリlaravel x モバイルアプリ
laravel x モバイルアプリ
 
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
 
Visualforce + jQuery
Visualforce + jQueryVisualforce + jQuery
Visualforce + jQuery
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
 
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
Tizen Web UI Frameworkでデザインを組み込んでみた
Tizen Web UI Frameworkでデザインを組み込んでみたTizen Web UI Frameworkでデザインを組み込んでみた
Tizen Web UI Frameworkでデザインを組み込んでみた
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
 

Más de Ryo Maruyama

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

Más de 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章 イントロダクション
 

Último

Último (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

jQuery勉強会#3