参考までに、Javascriptを使用してメッセージボードの例(メッセージ削除あり)を実装します。具体的な内容は次のとおりです。 まだフロントエンドの勉強中です。コードに不備や間違った考えがあったらご容赦ください。アドバイスをよろしくお願いします。 一部のウェブサイトのディスカッションエリアでは、通常、メッセージボード機能を見ることができます。ユーザーがコメントすると、空のコメントは投稿できません。最新のコメントが表示され、古いコメントは押し下げられます。その後、ブロガーはコメントを削除できます。 コードは次のとおりです。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>タイトル</title> <スタイル> * { マージン: 0; パディング: 0; } 体 { パディング: 100px; } テキストエリア { 幅: 200ピクセル; 高さ: 100px; 境界線: 1px ピンク アウトライン: なし; サイズ変更: なし; } ul { 上マージン: 50px; } li { リストスタイル: なし; 幅: 300ピクセル; パディング: 5px; 背景色: rgb(245, 209, 243); 色: 赤; フォントサイズ: 14px; マージン: 15px 0; } li a { フロート: 右; テキスト装飾: なし; } </スタイル> </head> <本文> <テキストエリア名="" id=""></テキストエリア> <button>公開</button> <ul> </ul> <スクリプト> var btn = document.querySelector('ボタン') var テキストエリア = document.querySelector('テキストエリア') var ul = document.querySelector('ul') btn.onclick = 関数(){ テキストエリアの値 == '' の場合 { アラート('Ning には入力がありません') 偽を返す }それ以外{ var li = document.createElement('li') li.innerHTML=textarea.value+"<a href='javascript:;'>削除</a>" ul.insertBefore(li,ul.children[0]) var as=document.querySelectorAll('a') (var i=0;i<as.length;i++){ as[i].onclick=関数() { ul.removeChild(この親ノード) } } } } </スクリプト> </本文> </html> エフェクト表示 コメントが空の場合: 新しいコメントは古いコメントを押し下げます: 削除する場合: コードの説明 ここでは、ボタンクリックイベントがトリガーされると、テキストフィールドの内容が取得され、関数がトリガーされ、最初にテキストフィールドの値が空であるかどうかの判断が行われます。そうである場合、警告ボックスがポップアップし、テキストの内容は下に表示されません。 テキストボックスにコンテンツがある場合は、要素 li を作成し、li を使用して ' を受け取ります。次に、li のテキストコンテンツを、テキスト領域の 1 の内容 + a タグ (削除機能) に設定します。 次に、新しく追加した li を前面に表示するように設定します (insertbefore)。次に、a タグがクリックされたときに行が削除されるように、ループ内で a タグをバインドする必要があります。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Jenkins の紹介と Docker で Jenkins をデプロイする方法
暗い背景スタイルのページ デザインは非常に人気があり、シックでエレガント、そして非常にクリエイティブ...
docker-compose-monitor.yml バージョン: '2' ネットワ...
目次etcdの機能etcdが独自の高可用性クラスタを構築するには、主に3つの形式があります。今回構築...
実際のWeb開発では、画像の挿入やCSSファイルなどすべてパスが必要となります。ファイルパスを誤って...
目次トリガーについてトリガーの使用トリガーを作成するトリガーを表示トリガーの削除使用上の注意新旧の違...
テキストエリアタグのサイズは不変ですコードをコピーコードは次のとおりです。 <textarea...
HTTPヘッダーとはHTTP は「Hypertext Transfer Protocol」の略です。...
1. セットアップを始める次のコード関数を簡単に紹介します。 ref 関数を使用して変数の変更を監視...
入力タイプ「file」とは何ですか?これが何なのかは説明する必要はないと思います。誰もが知っているこ...
ステップ1: MySQLでbinlogが有効になっていることを確認する '%log_bin%...
まず、CSS3 の相対的な長さの単位を見てみましょう (詳細なチュートリアルを参照してください)。相...
目次1. グローバル beforeEach 1. グローバル beforeEach 2. 実装2. ...
目次1. SQL言語の基本機能の紹介2. データ定義言語の目的3. データベースの作成と破棄4. デ...
● 新しいプロジェクトのセキュリティを確保するためにクラウド データを購入する予定でした。 Alib...
<br />Web テーブルの分割線を削除する方法。実際、上記の 3 つの表はいずれも ...