この記事では、JavaScript メッセージ ボードでメッセージを追加および削除する小さな例を詳細なコード分析とともに紹介しますが、データベース操作は含まれず、基礎となるコード実装のアイデアのみを分析します。 成果を達成するコードインターフェースを実行: 追加するメッセージを入力してください: (最新のメッセージが一番上に表示されます) メッセージを削除: (メッセージをクリックすると削除されます) 主な機能と効果を示します。HTML および CSS スタイルはここでは影響を受けません。JS コードを以下に示します。 <スクリプト> // 必要な要素オブジェクトを取得します。var text = document.querySelector('textarea'); var btn = document.querySelector('ボタン'); var ul = document.querySelector('ul'); // イベントを登録します btn.onclick = function () { // クリック イベントを公開ボタンにバインドします if (text.value == '') { // text.value が空かどうか、つまりユーザーが入力したコンテンツがあるかどうかを判断します alert('空のコンテンツを公開することはできません!'); false を返します。 } else { // ユーザーが入力したコンテンツがある場合、そのコンテンツが取得され、作成された要素 li に割り当てられて表示されます // 1. 要素を作成します var li = document.createElement('li'); li.innerHTML = text.value + "<a href='javascript:;' title='このメッセージを削除'>削除</a>"; // ユーザーが入力したコンテンツを、作成された li 要素に割り当て、その後のメッセージ削除のために末尾に a タグを追加します // 2. 要素を追加します // ul.appendChild(li); // この方法では、メッセージが後で表示されます ul.insertBefore(li, ul.children[0]); // 新しく追加されたメッセージを一番上に、つまり下から上の順序で表示します // 要素を削除します: 現在の a タグが配置されている li ノード、つまりその親要素を削除します var as = document.querySelectorAll('a'); (var i = 0; i < as.length; i++) の場合 { as[i].onclick = 関数(){ // 削除される li 要素は a の親要素、つまり this.parentNode です。 ul.removeChild(this.parentNode); // ul 内の li ノードを削除します。li は現在の a タグの親ノードなので、それらの関係に注意してください。} } } text.value = ''; // 最後に、別のメッセージを表示できるようにメッセージ入力ボックスの内容をクリアします} </スクリプト> コア知識:ページに要素ノードを追加します。 2つのステップでページに新しい要素を追加します。1 . 要素を作成する。2. 要素を追加する 1. 要素を作成します: element.createElement('created element tag'); ページ要素ノードを削除します。 node.removeChild(child); // node は親要素、child は node 内の子要素です 主な実装アイデア:ここでは、主にページにノードを追加する機能とノードを削除する機能を使用し、2 つの機能を異なるボタンにバインドします。たとえば、ノードを追加する機能は「公開」ボタンに与えられ、ノードを削除する機能は「削除」ボタンに与えられ、これにより、メッセージ ボード ケースの簡易バージョンが実現されます。詳細な分析を行うには、JS コードと詳細なコメントを組み合わせることをお勧めします。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL クロスデータベーストランザクション XA 操作の例
この記事では、一般的な MySQL 最適化方法をいくつかまとめて簡単に紹介します。これは、フルタイム...
しかし最近、この方法を使用すると問題が発生することがわかりました。コードを参照してください。コードを...
インターネット上で多くの関連チュートリアルを見てきましたが、インストール プロセスにはまだいくつかの...
ステートフック例: 'react' から useState をインポートします。 関...
Web ページやフォームを設計するたびに、さまざまなブラウザ、特に IE ファミリの互換性の問題に悩...
この古くからある疑問は、数え切れないほどのフロントエンド開発者やバックエンドプログラマーを悩ませてき...
目次1. スクリプトタグを使用してファイルをインポートする1. ローカルファイルをインポートする2....
目次1. MySQL の時刻型2. タイムゾーンを確認する3. 不正な時間値4. 厳密モード5. 事...
記事のタイトルが「模造虫眼鏡」なのはなぜですか?今日お話ししたいのは、一般的に言われているような、マ...
この記事では、例を使用して、CentOS プラットフォーム上で LAMP 環境を迅速に構築する方法に...
1.コアファイルプログラム実行中にセグメンテーション エラー (コア ダンプ) が発生すると、プログ...
HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...
序文React 16から、子コンポーネントで発生したエラーを捕捉し、エラーログを記録し、ダウングレー...
1. Dockerfileを書く(1)プロジェクト名を右クリックして新しいテキストファイルを作成し、...
入力を制限する一般的な方法1. ボタンが押されたときに点線のボックスを消すには、入力に属性値hide...