ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
要素を DOM から削除する 3 メソッド
| メソッド | 動作 | イベント / data | 用途 |
|---|---|---|---|
.remove() | 要素自身を削除 | 除去される | 完全削除 |
.detach() | 要素自身を削除 | 保持される | 一時退避 → 再挿入 |
.empty() | 子要素だけ削除 | 子のイベントは除去 | 中身入れ替え前 |
// 要素自身を削除(イベントハンドラも一緒に消える)
$('#item-1').remove();
// セレクタで条件付き削除
$('li').remove('.delete-me'); // 「.delete-me を持つ li」を削除
$('.notification').remove();
// 後で再利用したい場合 (detach)
const $saved = $('#sidebar').detach();
// ... 何か処理 ...
$('#main').append($saved); // クリックハンドラもそのまま動く
// 中身だけ消す
$('#list').empty(); // <ul id="list"></ul> になる
$('#list').html(''); // 同じ結果
// 子要素を入れ替える前に
$('#list').empty().append('<li>新しい項目</li>');
入力値・テキストのクリア
// 入力フィールドの値クリア
$('input[type=text]').val('');
$('#name').val('');
// すべての input をリセット
$('form input, form textarea, form select').val('');
// フォーム全体リセット (ブラウザのデフォルトに戻る)
$('form')[0].reset();
// または
$('form').get(0).reset();
// テキストノードを空に
$('h1').text(''); // <h1></h1>
// HTML を空に(empty() と同じ)
$('#content').html('');
// チェックボックス / ラジオの解除
$('input[type=checkbox]').prop('checked', false);
$('input[type=radio]').prop('checked', false);
// select を未選択に
$('select').prop('selectedIndex', 0); // 最初の選択肢に
$('select option:selected').prop('selected', false);
属性 / クラスの削除
// 属性削除
$('a').removeAttr('href'); // href 削除
$('input').removeAttr('disabled readonly'); // 複数同時
// クラス削除
$('div').removeClass('active'); // 1 つ
$('div').removeClass('active selected'); // 複数 (スペース区切り)
$('div').removeClass(); // 全クラス削除
// クラスのトグル (削除も追加も)
$('div').toggleClass('active');
// プロパティの設定/削除
$('input').prop('disabled', false); // disabled を解除
$('input').removeProp('disabled'); // 完全削除
// data 属性削除
$('div').removeData('user-id'); // jQuery 内部 data
$('div').attr('data-user-id', null); // HTML 属性
削除前のアニメーション
// フェードアウトしてから削除
$('#notification').fadeOut(400, function() {
$(this).remove();
});
// スライドアップしてから削除
$('.item').slideUp(300, function() {
$(this).remove();
});
// 複数要素のうち最後だけコールバック実行
const $items = $('.deletable');
$items.fadeOut(400);
$items.promise().done(function() {
$items.remove();
});
// Vanilla CSS Transition + remove
$('.card').addClass('fade-out');
setTimeout(() => $('.card').remove(), 300);
生 DOM API での削除(jQuery 不要時代)
// 自分自身を削除 (IE11 非対応、Chrome 23+)
document.getElementById('item').remove();
// 親経由(古いブラウザ対応)
const el = document.getElementById('item');
el.parentNode.removeChild(el);
// 中身を空に
const el2 = document.getElementById('list');
el2.innerHTML = '';
// または
while (el2.firstChild) {
el2.removeChild(el2.firstChild);
}
// 入力値クリア
document.querySelector('#name').value = '';
// 属性削除
document.querySelector('a').removeAttribute('href');
// クラス削除
document.querySelector('div').classList.remove('active');
document.querySelector('div').classList.toggle('active');
削除前の確認パターン
// 削除確認 → 実行
$('.delete-btn').on('click', function(e) {
e.preventDefault();
if (!confirm('本当に削除しますか?')) return;
const $row = $(this).closest('tr');
$.ajax({
url: '/api/items/' + $row.data('id'),
method: 'DELETE',
}).done(function() {
$row.fadeOut(400, function() {
$(this).remove();
// 全消えたら「データなし」表示
if ($('tbody tr').length === 0) {
$('tbody').html('<tr><td colspan="3">データがありません</td></tr>');
}
});
}).fail(function() {
alert('削除に失敗しました');
});
});
メモリリーク防止
.remove() は関連付けられたイベントハンドラと jQuery data も削除するため、メモリリークを防ぎます。一方 .detach() を使い続けて再挿入しないと、参照が残ってリークします:
// ✅ 良い例: remove で完全クリーンアップ
$('#dialog').remove();
// ⚠️ 危険: 大量に detach した変数を捨てる
function bad() {
const $items = $('.large-list').detach();
// ローカル変数 $items は破棄されるが、
// jQuery の内部キャッシュには残る → リーク
}
// ✅ 不要な要素は明示的に remove
function good() {
const $items = $('.large-list').detach();
// ... 処理 ...
$items.remove(); // 最後に完全削除
}
FAQ
Q: .remove() と .empty() の違いは?
A: .remove() は要素自身を削除、.empty() は中身だけ削除して器は残します。
Q: .detach() はいつ使う?
A: 削除して再挿入するときだけ。イベントハンドラを再設定したくないケース。普通の削除は .remove()。
Q: 削除アニメーションを CSS だけで
A: .addClass("fade-out") + CSS で transition 定義し、animationend イベントで .remove() するパターンが軽量で人気です。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?