JavaScriptは行削除機能を備えたテーブルを動的に生成します

JavaScriptは行削除機能を備えたテーブルを動的に生成します

この記事の例では、テーブルを動的に生成したり行を削除したりするためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

行を削除する機能を備えたテーブルを動的に生成します。

実装のアイデア

1. テーブルの<tbody>要素を取得する
2. 通常はデータベースから入力するデータを取得するか、テスト用にデータセットをシミュレートします。データはオブジェクトの形式で保存されます。複数行のデータを配列に保存することができ、配列内の各項目はオブジェクトです。
3. ① オブジェクト配列をループして行を作成します。
②ループをネストする - - - オブジェクトをループします。
a. 属性に応じて必要な数のセルを作成します。
b. セルに値を割り当てます。
c. 次に行にセルを追加します。
③セルを追加し、テキストコンテンツに「削除」というリンクを割り当て、セルを行に追加します
4. tbodyに新しい行を追加する
5. すべての要素を取得する - - -document.querySelectorAll('a') でオブジェクト配列を取得する
6. a オブジェクト配列をループし、クリック イベントを a リンクにバインドして、削除関数を追加します - - -tbody.removeChild(this.parentNode.parentNode);

コードサンプル

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>テーブルを動的に生成する</title>
    <スタイル>
        テーブル {
            境界線: 1px ピンク
            境界線の折りたたみ: 折りたたみ;
        }
        
        スレッド {
            背景色: #ddd;
        }
    </スタイル>
</head>

<本文>
    <表の境界線="1" セルパディング="5" セル間隔="0" 配置="中央" 幅="600px">
        <頭>
            <tr>
                <th>名前</th>
                <th>件名</th>
                <th>結果</th>
                <th>オペレーション</th>
            </tr>
        </thead>
        <t本文>

        </tbody>
    </テーブル>
    <スクリプト>
        var tbody = document.querySelector('tbody');

        var リスト = [{
            '名前': 'スポンジ・ボブ',
            '件名': 'JavaScript',
            '年齢': 66
        }, {
            '名前': 'デュオ・リー・アイ・メン',
            '件名': 'JavaScript',
            '年齢': 99
        }, {
            '名前': 'スティッチ',
            '件名': 'JavaScript',
            '年齢': 60
        }, {
            '名前': 'ピカチュウ',
            '件名': 'JavaScript',
            '年齢': 88
        }];

        (var i = 0; i < list.length; i++) の場合 {
            // 1. 行を作成する var tr = document.createElement('tr');

            // 2. データを入力する for (var k in list[i]) {
                console.log(リスト[i][k]);
                // 1. td セルを作成する var td = document.createElement('td');
                //セルにコンテンツを入力する td.innerHTML = list[i][k];
                // 2. セルを追加します tr.appendChild(td);
            }
            // 3. リンクを追加および削除する var td = document.createElement('td');
            td.innerHTML = '<a href="javascript:;" >削除</a>';
            tr.appendChild(td);
            // 4. 行を追加します tbody.appendChild(tr);
        }

        // 削除関数を追加します var as = document.querySelectorAll('a');
        (var i = 0; i < as.length; i++) の場合 {
            as[i].onclick = 関数() {
                tbody.removeChild(this.parentNode.parentNode);
            }
        }

        コンソールにログ出力します。
        コンソールにログ出力します。
    </スクリプト>
</本文>

</html>

ページ効果:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Web ページ上でテーブルを動的に生成する JavaScript
  • JavaScript で動的にテーブルを生成する例
  • 動的にテーブルを生成するJavaScript
  • JavaScriptはインデント付きのテーブルコードを生成します
  • JavaScript を使用して動的に生成されるテーブルの詳細な説明

<<:  プロフェッショナルなMySQL開発設計仕様とSQL記述仕様

>>:  時間のかかるDockerエラーのトラブルシューティングプロセス記録

推薦する

Vue ミックスインの使用方法とオプションのマージの詳細な説明

目次1. コンポーネントでの使用2. オプションのマージ要約する1. コンポーネントでの使用Mixi...

複数の画像を切り替えるJavaScript

この記事では、複数の画像を切り替えるJavaScriptの具体的なコードを参考までに紹介します。具体...

JavaScript 配列の詳細な概要

目次1. 配列誘導1. 文字列を配列に分割する2. コレクションとマップを新しい配列に変換する3. ...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

CSS3 フレックスレイアウトを使用して要素を均等に分散するサンプルコード

この記事では主に、CSS3 フレックスレイアウトを使用して要素を均等に配置する方法を紹介します。自分...

ハッシュテーブルのJavaScript実装の詳細な説明

目次1. ハッシュテーブルの原理2. ハッシュテーブルの概念3. ハッシュ競合問題1. チェーンアド...

RHEL7.5 mysql 8.0.11 インストールチュートリアル

この記事はRHEL7.5でのMySQL 8.0.11のインストールチュートリアルを記録しています。具...

JavaScript クリップボードの使用法の詳細な説明

(1)はじめに: clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽...

CentOS8でルートパスワードを素早く変更する方法

Centos8仮想マシンを起動し、上下キーを押して図1のインターフェースの最初の行を選択します。図1...

nginx をコンパイルしてインストールした後、スムーズに nginx をアップグレードする方法

nginx をコンパイルしてインストールし、一定期間使用した後、現在のバージョンに脆弱性があることや...

MySQL でスロークエリログ機能を有効にする方法

MySQL スロー クエリ ログは、問題のあるクエリを追跡するのに非常に役立ちます。現在のプログラム...

IDEA が MySQL データベースに接続できない問題の 6 つの解決策

この記事では、IDEA が MySQL データベースに接続できない問題に対する 6 つの解決策を主に...

MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)

開発の背景:最近、私はバッチ データを MySQL データベースにインポートする機能に取り組んでいま...

Linuxのbasenameコマンドの使い方

01. コマンドの概要basename - ファイル名からディレクトリとサフィックスを削除しますba...

Linux 構成で MySQL データベースへのリモート接続が失敗する問題の解決方法

今日は、Linux でリモート アクセス用に MySQL データベースを構成する方法について質問があ...