プログラミングの初歩(3)

準備

ボタンに反応

要素を生成する

解説

  1. jQuery (または $)という名のオブジェクト(変数)、と関数
  2. jQueryオブジェクト
  3. $(またはjQuery)関数の主な用途(を、整理しておく)
    1. 要素を取得する(タグ名やCSSセレクタを文字列として渡す)

    2. 要素を生成する(HTMLで書くようにタグを <> で囲んで文字列で渡す)

    3. document(Webページ)が readyになった時(読み込みが完了した時点)に行うべき処理を指定する(関数を渡す)

      $( 関数 ) という呼び方になる。 引数として渡すものは、定義済みの関数名でもいいし、 ここに無名関数をベタ書きしてもいい。

      後者の場合、長い定義になるため、

      $(function(){
        // 中略
        // (長いプログラム)
      })

      または、

      $(()=>{
        // 中略
        // (長いプログラム)
      })

      のような形になるだろう。

JavaScriptでの繰り返し(一括処理)

JSでは繰り返しの書き方がいくつかある。

  1. for を使った構文( C Java と同じような)

    for(var i=0 ; i<10 ; i++) console.log(i)
  2. Array(配列)と forEach (または map) を使った書き方

    [...Array(10).keys()].forEach(()=>console.log(i))

他に、

  1. while を使って条件を満たす間だけ繰り返させる
  2. 再帰による繰り返し

もあるが、ここでは割愛する(機会があればこれも学んでおいて下さい)。

要素の一括生成

前前節で沢山生成したボタンについて、

* 一括生成したボタンだけを一括でオン/オフ:

いちどページを再表示させてボタンを生成しなおしておこう。

[...Array(100).keys()].forEach((i)=>$('<button>',{text: `__${i}__`,class:'nn'}).appendTo('body'))

* こんどは属性として class:'nn' も追加してあることに注意。

* こうして nn というクラス名を持つ要素だけを選んで操作するときは、

$('.nn').toggle()

このように、複数の要素(を保持するjQueryオブジェクト)に対して、 単一のメソッド呼び出しをすることで、一括操作が実現できる。

結果 一括処理ではなく、この複数の要素に対して、 個別の処理を行いたい場合は、 jQueryの eachメソッドを使うことになる。