最後の 2 つの記事では、DOM を使用してノードの作成、ノードのコピー、ノードの挿入、ノードの削除、ノードの置換、ノードの検索、属性の取得などを行う方法について説明しました。 。 。
今日は DOM 属性について話します。
実際、DOM 属性については以前にも触れたことがあります。
例:
nodeName、nodeType.... 今日は詳しく説明します。
1、nodeName 属性: ノードの名前。
ノードが要素ノードの場合は、要素の名前を返します。このとき、tagName属性に相当します。
例:
aaaa
: p を返します。属性ノードの場合、nodeName はこの属性の名前を返します。
テキスト ノードの場合、nodeName は #text 文字列を返します。
もう 1 つ言いたいのは、nodeName 属性は読み取り専用属性であり、設定 (書き込み) できないことです。
値は大文字で返されます。
2,,nodeType 属性: このノードのタイプを表す整数を返します。
私たちは通常 3 つのタイプを使用します:
nodeType == 1 : 要素ノード
nodeType == 2 : 属性ノード
nodeType == 3 : テキストノード
覚えておきたい場合は、次のように覚えてください:
例:
test
前から後ろに読んでください: 最初に要素ノード (1)、次に属性ノードがあることがわかります。 (2)、そして最後に Text ノード (3) なので、nodeType が表すタイプを簡単に思い出すことができます。 (ちょっとしたトリックをまとめました。^_^。)nodeType 属性は、間違ったノード タイプで間違った操作が実行されないようにするために、if と組み合わせてよく使用されます。
例:
function cs_demo(mynode){
if(mynode.nodeType == 1){
mynode.setAttribute("title","demo"); > }
コードの説明: まず、mynode の nodeType 属性をチェックして、それが表すノードが実際に要素ノードであることを確認します。
nodeName 属性と同様、これも読み取り専用属性であり、設定 (書き込み) できません。
3. nodeValue 属性: このノードの値である文字列を返します。
ノードが要素ノードの場合は null が返されます。(以下の注)
属性ノードの場合は、nodeValue はこの属性の値を返します。
テキスト ノードの場合、nodeValue はこのテキスト ノードのコンテンツを返します。
例:
aaaaaaaaaaaaaa
nodeValue は読み取りおよび書き込みが可能なプロパティです。ただし、要素ノードの値を設定することはできません。
次の例をもう一度見てください:
aaaaaaaaaaaaaa
もちろん、正しい動作を保証するために、コードを追加できます:
aaaaaaaaaaaaa
>
// 要素ノードを設定したい場合は、直接設定できないことがわかりますが、最初に firstChild または lastChild などを使用してから、nodeValue を設定する必要があります。
nodeValue は通常、テキスト ノードの値を設定するためにのみ使用されます。属性ノードの値を更新したい場合は、通常 setAttribute() を使用します。
4、childNodes 属性: 要素ノードの子ノードで構成される配列を返します。
テキスト ノードと属性ノードには子ノードを含めることができないため、
その childNodes プロパティは常に空の配列を返します。
要素に子ノードがあるかどうかを判断するために使用される hasChildNodes メソッドを使用できます。
or if (container.childNodes.length
childNodes も読み取り専用属性です。ノードを追加したい場合は、appendChild() または insertBefore() を使用できます。
ノードを削除するには、removeChild(); を使用できます。
操作後、childNodes 属性が自動的に更新されます。
5、firstChild 属性:
テキスト ノードと属性ノードには子ノードを含めることができなくなるため、
そのため、firstChild 属性は常に空の配列を返します。子ノードがない場合は、null が返されます。
node.firstChild は、node.childNodes[0] と同等です。
firstChild 属性は、読み取り専用の属性です。
6 、 lastChild 属性:
テキスト ノードと属性ノードには子ノードを含めることができなくなるため、
そのため、lastChild 属性は常に空の配列を返します。子ノードがない場合は、null が返されます。
node.lastChild は、node.childNodes[node.childNodes.length - 1] と同等です。
lastChild 属性は読み取り専用です。
7 、 nextSibling 属性:
ターゲット ノードの次の兄弟ノードを返します。
同じ親ノードに属するターゲット ノードの背後にノードがない場合、nextSibling は null を返します。
nextSibling プロパティは読み取り専用のプロパティです。
8 、previousSibling 属性:
ターゲット ノードの前の兄弟ノードを返します。
同じ親ノードに属するターゲット ノードの前にノードがない場合、previousSibling は null を返します。
previousSibling プロパティは読み取り専用のプロパティです。
9 、parentNode 属性:
注: 子ノードを持つことができるのは要素ノードだけであるため、parentNode 属性によって返されるノードは常に要素ノードです。
もちろん例外があります。
ドキュメント ノードには親ノードがありません。したがって、ドキュメント ノードのparentNode プロパティは null を返します。
parentNode プロパティは読み取り専用のプロパティです。
DOM の共通の属性とメソッドについては以上です。これらのメソッドの使用方法を理解すれば、皆さんの DOM プログラミング技術が大幅に向上すると思います。
それでもわからない場合は、Google で情報を検索してください。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Dreamweaver Mac版
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
