このページの本文へ

前へ 1 2 3 4 次へ

  • twitterでつぶやく
  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

Web制作の現場で使えるjQuery UIデザイン入門 ― 第10回

jQueryでAjaxを利用する基本チュートリアル

2009年09月11日 17時00分更新

文● 西畑一馬/to-R


【jQueryステップアップメモ】

セレクターの内容に繰り返し処理をするeach()

 ajax()のサンプルでは、セレクターで指定した内容に対して繰り返し処理をする each() という命令が登場しました。jQueryを使ったプログラムではよく利用する命令ですので、使い方を覚えておきましょう。

 each()は、以下のような書き方で使用します。


$(セレクター).each(function(){
    //繰り返し処理
})


 そもそも繰り返し処理とはどういったものなのでしょうか? table要素のサンプルを使って説明しましょう。以下のHTMLを見てください。

サンプル04(HTML部分)


<table>
    <tr><th>text(...)</th><td>テキストを変更する</td></tr>
    <tr><th>html(...)</th><td>HTMLを変更する </td></tr>
    <tr><th>prepend(...)</th><td>要素内の先頭にHTMLを挿入する</td></tr>
    <tr><th>append(...)</th><td>要素内の最後にHTMLを挿入する</td></tr>
    <tr><th>before(...)</th><td>要素の前にHTMLを挿入する</td></tr>
    <tr><th>after(...)</th><td>要素の後にHTMLを挿入する</td></tr>
</table>


 このtable要素をjQueryを使って以下のように書き換えたいとします。

サンプル04(実行結果)


<table>
    <tr><td>text(...)はテキストを変更する</td></tr>
    <tr><td>html(...)はHTMLを変更する </td></tr>
    <tr><td>prepend(...)は要素内の先頭にHTMLを挿入する</td></tr>
    <tr><td>append(...)は要素内の最後にHTMLを挿入する</td></tr>
    <tr><td>before(...)は要素の前にHTMLを挿入する</td></tr>
    <tr><td>after(...)は要素の後にHTMLを挿入する</td></tr>
</table>


 tr要素の中にあるth要素とtd要素のテキストを「は」というテキストで結合し、td要素で包み直しています。

 単純にtr要素をjQueryのセレクターで指定すると $("table tr") ですが、このセレクターではtable要素内のすべてのtr要素を一括して選択してしまいます。サンプル04の実行結果のように、複数のtr要素を1つずつ異なる内容に書き換えるといったことはできません。

 これに対してeach()は、セレクターで指定した要素が複数含まれる場合に、その要素を1つずつ取り出して、function(){...} 内の命令を1回ずつ、含まれる要素の回数だけ実行していきます。

サンプル04(スクリプト部分)


$("table tr").each(function(){
    $(this).html("<td>"+$("th",this).text()+"は"+$("td",this).text()+"</td>");
})


 each()と一緒に利用する「this」は、「現在処理をしている要素」を表します。thisclickイベントの処理(関連記事)でも登場しましたが、意味が少し違います。たとえば、$(this).html(...) と記述した場合は、現在処理をしている要素の中身を別のHTMLに書き換えます。

 また、前ページの本文でも触れたとおり、jQueryのセレクターの後ろには ,(カンマ)区切りで範囲を絞り込めます。each(function(){...})でセレクターの範囲にthisを指定することで、現在処理をしている要素の内側の要素を特定できます。


著者:西畑一馬(にしはた かずま)

著者写真

to-R代表、Webクリエイター。PHPによるシステム開発や、CMSを利用したWebサイト制作、SEO対策などのマーケティング、コンサルティング、Webクリエイター向けの講座などを業務で行なっている。また、ブログto-RではJavaScriptやSEO対策、CSS、Movable TypeなどのWeb制作にかかわるさまざまな情報を発信している。
主な著書に「現場のプロから学ぶXHTML+CSS」(共著、毎日コミュニケーションズ刊)がある。

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

みんなが買ってる最新アイテムはコレだ!

VOCALOID3 スターターIA ARIA ON THE PLANETES

VOCALOID3 スターターIA ARIA ON THE PLANETES

ヤマハ

17,745円〜

24人が購入

Google上位表示 64の法則 (WEB PROFESSIONAL)

Google上位表示 64の法則 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

72人が購入

標準HTML5タグリファレンス (WEB PROFESSIONAL)

標準HTML5タグリファレンス (WEB PROFESSIONAL)

アスキー・メディアワークス

2,205円〜

59人が購入

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

スペックコンピュータ

4,262円〜

23人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

40人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

9人が購入

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

61人が購入

Amazon.co.jp