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エラーのトラブルシューティングプロセス記録

推薦する

要素テーブルヘッダー行の高さの問題の解決

目次序文1. 問題の原因2. 解決策VueはelementUIテーブルtr thの高さと背景色を変更...

jQueryチェーン呼び出しの詳細な説明

目次チェーン呼び出し小さなケースチェーン呼び出しjQuery オブジェクトが任意のメソッド (ノード...

CSS ピックアップ矢印、カタログ、アイコン実装コード

1. CSS その他のアイコンアイコンを作成するには 3 つの方法があります。写真css (小さな矢...

「@INC で ExtUtils/MakeMaker.pm が見つかりません」というエラーを解決する

mha4mysql をインストールする場合の手順は、おおよそ次のようになります: unzip、per...

MySQL DDL による同期遅延を解決する方法

目次序文解決ツールの紹介仕組み使用制限使用上の注意使用例いくつかのパラメータの説明出力例Tencen...

MySQL サブクエリとグループ化されたクエリ

目次概要サブクエリサブクエリの分類クエリの結果によるとサブクエリの位置で区別する選択後のサブクエリサ...

Vue3とElectronを使ったデスクトップアプリケーションの詳しい説明

目次Vue CLIはVueプロジェクトを構築しますVue プロジェクトをマークダウン エディターに変...

MySQL 5.7 で業務を停止せずに従来のレプリケーションを GTID レプリケーションに変更する例

GTID の利点により、従来のファイル POS ベースのレプリケーションを GTID ベースのレプリ...

CSSとHTMLを組み合わせる4つの方法

(1)各HTMLタグには属性スタイルがあり、CSSとHTMLを組み合わせている。 <div s...

MySQL 8.0 の非表示インデックスの詳細な説明

言葉MySQL 8.0 は最初のバージョンから 4 年を経てリリースされました。バージョン 8.0 ...

Nginx を使用してグレースケール リリースを実装する

グレースケールリリースとは、白と黒をスムーズに移行できるリリース方法を指します。 ABテストとは、グ...

LinuxでSVNサーバーを構築する方法

1: SVNをインストールする yum インストール -y サブバージョン2. 倉庫を作る1: 倉庫...

Nginx は rtmp ライブ サーバーの実装コードを構築します

1. nginxソースディレクトリに新しいrtmpディレクトリを作成し、git clone http...

MySQL マルチバージョン同時実行制御 MVCC の実装

目次MVCCとはMVCC 実装MVCC はファントム リードを解決しますか? MVCCとはMVCC ...

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...