0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

jQueryの基本

Last updated at Posted at 2024-10-15

備忘録的な感じです。初心者ですので間違っている箇所があるかもしれません。
お手柔らかにお願いいたします。

jQueryとは

JavaScriptのコードを簡潔に書けるようにするために設計されたライブラリ。
jQuery API

jQueryの適用方法

HTMLの<body>要素内(</body>の直前)に<script>タグを使用して記述する。

sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- <body>要素内(</body>の直前)に<script>タグを使用して記述する。-->
    <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
    <script>
        $(function() {
            alert("HELLO");
            console.log("HELLO");
        });
    </script>
</body>
</html>

JavaScriptファイルを作成してHTMLの<body>要素内(</body>の直前)で<script>タグを使用して読み込む。

sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- HTMLの<body>要素内(</body>の直前)で<script>タグを使用して読み込む。-->
    <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
    <script src="js/sample.js"></script>
</body>
</html>
sample.js
"use strict"
$(function() {
    alert("HELLO");
    console.log("HELLO");
});

ready関数

ready関数はブラウザがHTMLを読み込んでJavaScriptでDOM操作ができるようになった時点で実行される。jQueryではJavaScriptのコードで実装した内容をready関数で囲む。

$(function() {
    alert("HELLO");
    console.log("HELLO");
});
jQuery(document).ready(function() {
    alert("HELLO");
    console.log("HELLO");
});
jQuery(function() {
    alert("HELLO");
    console.log("HELLO");
});

jQueryの基本構文

セレクタの種類

  • 要素で指定する場合
$('div')
  • id属性で指定する場合
$('#id')
  • class属性で指定する場合
$('.class')

ブラウザ表示時に実行したい場合

$(function() {
    $('#example').hide();
});

イベント発生時に実行したい場合

$(function() {
    $('#example').on('click', function() {
        $(this).hide();
    });
});

関数

css関数

CSSを設定・取得する。

sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="message">HELLO</div>
    <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
    <script src="js/sample.js"></script>
</body>
</html>
sample.js
"use strict"
$(function() {
    $('.message').css('color', 'brown').css('font-size', '25px');
    console.log('color:' + $('.message').css('color'));
    console.log('font-size:' + $('.message').css('font-size'));
});

on関数/text関数/val関数

イベント時に処理を実行する。
要素のテキストコンテンツを設定・取得する。
要素のVALUE値を設定・取得する。

sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="message">ここにメッセージを設定する</div>

    <button type="button" id="button">ボタン</button>

    <input type="radio" class="radio" name="gender" value="male">男性
    <input type="radio" class="radio" name="gender" value="female">女性

    <select id="quantity">
        <option value="1">1個</option>
        <option value="2">2個</option>
        <option value="3">3個</option>
        <option value="4">4個</option>
        <option value="5">5個</option>
    </select>

    <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
    <script src="js/sample.js"></script>
</body>
</html>
sample.js
"use strict"
$(function() {
    $('#button').on('click', function() {
        $('#message').text("ボタンをクリックしました。");
        console.log($('#message').text());
    });
    
    $('.radio').on('change', function() {
        $('#message').text("ラジオボタンを選択しました。"
        + $('.radio:checked').val() + "を選択しました。");
    });

    $('#quantity').on('change', function() {
        console.log("セレクトボックスを変更しました。"
        + $('#quantity').val() + "を選択しました。");
    });
});

show関数/hide関数

要素を表示する。
要素を非表示にする。

sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="message">ここのメッセージを表示・非表示にする</div>
    <button type="button" id="show_button">表示する</button>
    <button type="button" id="hide_button">非表示にする</button>

    <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
    <script src="js/sample.js"></script>
</body>
</html>
sample.js
$(function() {
    $('#show_button').on('click', function() {
        $('#message').show();
    });

    $('#hide_button').on('click', function() {
        $('#message').hide();
    });
});

動的に追加した要素のイベント発生時に処理を実行する方法

html.sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="parent">
        <button id="parent_button">ボタンを追加する</button>
    </div>
    <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
    <script src="js/sample.js"></script>
</body>
</html>
js.sample.js
"use strict"

$(function() {
    $('#parent_button').on('click', function() {
        $('#parent').append('<button class="child_button">追加したボタン</button>');
    });

    $('#parent').on('click', '.child_button', function() {
        console.log("追加したボタンをクリックしました。");
    });
});
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?