2.

文法

編集

本稿は jQuery の文法に関する記事です。jQuery の基本形 ($(セレクタ).メソッド()) から、要素を選ぶためのセレクタ、UI を動かすためのイベント処理など、jQuery を使ううえで押さえるべき構文をまとめます。

子ページから対象の記事を選択してください。

本ページの子ページ

jQuery の基本形

// 1. セレクタで要素を選ぶ
$(".btn")

// 2. メソッドで操作
$(".btn").text("送信");

// 3. メソッドチェーン (戻り値も jQuery オブジェクト)
$(".btn").addClass("is-active").fadeIn(300);

$jQuery のショートカットです。両方とも同じ意味で、競合する場合は jQuery.noConflict()$ を解放できます。

主要な構文カテゴリ

カテゴリ概要
セレクタ要素を選ぶ$("#id") / $(".class") / $("ul li")
取得 / 走査選んだ要素から関連要素へ.find() / .parent() / .children()
属性 / プロパティ属性・値の取得設定.attr() / .prop() / .val() / .data()
CSS / クラス見た目を変える.css() / .addClass() / .toggleClass()
HTML / テキスト中身を読み書き.text() / .html() / .append()
イベントクリック等の反応.on("click", fn) / .off()
エフェクト表示・アニメーション.fadeIn() / .slideUp() / .animate()
Ajaxサーバ通信$.ajax() / $.get() / $.post()
ユーティリティ反復・型判定$.each() / $.map() / $.isArray()
準備完了DOM 構築後に実行$(function() { ... }) / $(document).ready(fn)

イベントの基本

$(function() {
  // クリックでクラス切替
  $(".btn").on("click", function() {
    $(this).toggleClass("is-active");
  });

  // フォーム送信前にバリデーション
  $("form#contact").on("submit", function(e) {
    if ($("#name").val() === "") {
      e.preventDefault();  // 送信中止
      alert("名前を入力してください");
    }
  });

  // 動的に追加された要素のイベント (委任)
  $(document).on("click", ".dyn", function() { ... });
});

Ajax の基本

$.ajax({
  url: "/api/users",
  method: "GET",
  dataType: "json"
})
.done(function(data) { console.log(data); })
.fail(function(xhr) { console.error(xhr.status); });

jQuery と素の DOM API

やりたいことjQuery素の DOM
要素取得$(".btn")document.querySelectorAll(".btn")
クラス追加$(el).addClass("x")el.classList.add("x")
テキスト設定.text("...")el.textContent = "..."
イベント.on("click", fn)el.addEventListener("click", fn)
Ajax$.ajax()fetch()

注意点

  • jQuery のロード順に注意。本体を読み込む前に $ を使うと $ is not defined
  • DOM が出来上がる前に操作するため、コードは $(function() { ... }) の中に
  • 新規プロジェクトでは素の DOM API + Fetch + 軽量ライブラリで十分なことが多い
  • 古い jQuery 1.x / 2.x にはセキュリティ脆弱性 (XSS) があるバージョンが存在する。3.x の最新を使う
  • .html(externalInput) のように外部入力をそのまま埋め込まない (XSS)。.text() を使う

関連

編集
Post Share
子ページ
  1. 基本形
  2. セレクタ
  3. イベント
同階層のページ
  1. 導入方法
  2. 文法
  3. HTML/CSS 操作・制御
  4. 要素の取得
  5. 値の取得
  6. 値と要素の追加
  7. 値と要素の削除
  8. 子要素の削除
  9. 要素のコピー
  10. Ajax
  11. 項目をタッチ/クリックしてスライドさせる方法
  12. テキスト/セレクトボックス/ラジオボタン変更時のイベント
  13. パスワードを一時的に表示させる方法
  14. $(document).ready(function() { ...
  15. セレクトボックスにオプションを追加する方法