1. DOM の概要
1. DOM の概要
DOM は、ドキュメント オブジェクト モデルを指し、特に次の用途に適したドキュメント オブジェクトです。 HTML/XHTML モデル。ソフトウェア開発者であれば、これを Web ページの API と考えることができます。 DOM は Web ページ内の各要素をオブジェクトとして扱うため、Web ページ内の要素をコンピュータ言語によって取得または編集することもできます。たとえば、JavaScript は DOM を使用して Web ページを動的に変更できます。
1.2. 操作オブジェクトによる DOM の分類
操作オブジェクトの違いに応じて、Core DOM、XML DOM、HTML DOM に分類できます。
Core Dom: Core Dom、構造化ドキュメントの標準モデル。
XML DOM: XML 要素を操作する、XML ドキュメントの標準モデル。
HTML DOM: HTML 要素を操作する、HTML ドキュメントの標準モデル。
1.3. DOM 関数
① 要素のクエリ
② 要素の先祖、兄弟、子孫のクエリ
③ 要素の属性の取得と変更
④ 要素の内容の取得と変更
##⑤ 要素の作成、挿入、削除##2. DOM ノード
ドキュメント内のすべての内容は、例えば、HTMLでは文書全体、各タグ、各タグの属性やテキストをノードとして表現することができます。
2.1. ノードの分類
① 文書ノード (Document): XML および HTML ドキュメント全体
② 要素ノード (Element): XML および HTML の各要素
③ 属性ノード (Attr): XML および HTML の各要素の属性
④ テキスト ノード (Text): XML および HTML の各要素内のテキスト
⑤ コメント ノード (Comment):各コメント
注: ここでの Document ノードは XMLDocument と HTMLDocument に分けられる総称であり、同様に Element も XMLElement と HTMLElement に分けられます。
2.2. HTML DOM ノードの階層
ノードには、親ノード、兄弟ノード、子ノードなど、相互に階層関係があります。
#(1) 例: HTML ドキュメントを HTML DOM ノード ツリーに変換する(2) グラフ分析の例
1) 要素と 要素の親ノードは 要素です。 2) 要素と 要素は兄弟ノードです。 3)document.getElementById('div').innerHTML="<input type='button' value='按钮' />"; // 设置div元素的innerHTML为一个按钮 document.getElementById('div').innerHTML; // => <input type='button' value='按钮' /> :以HTML格式返回节点的内容
説明: 次の形式で取得します。テキスト文字列またはノードの内容を設定します。
例 1:
HTML 形式のコンテンツを割り当てる は文字列「"。
例 2:コンテンツを取得する場合、テキスト コンテンツのみが取得されます。
document.getElementById('div').innerText; // => "文本1 文本2"
説明:
(学習ビデオ共有:html ビデオ チュートリアル)
例: console.log( document.nodeName ); // => #document:文档节点
console.log( document.body.nodeName ); // => BODY:元素节点
console.log( document.getElementById('div').nodeName ); // => DIV:元素节点
console.log( document.getElementById('div').attributes.style.nodeName ); // => style:属性节点
説明: ドキュメント ノード、要素ノード このプロパティは null を返し、読み取り専用です。
例:console.log( document.nodeValue ); // => null:文档节点 console.log( document.body.nodeValue ); // => null:元素节点 console.log( document.getElementById('div').nodeValue ); // => null:元素节点 console.log( document.getElementById('div').attributes.style.nodeValue ); // => width:200px;height:100px;border:1px solid black;:style属性的值 document.getElementById('div').attributes.style.nodeValue = ' width:200px;height:200px'; // 设置style属性的值
説明:
例:console.log( document.nodeType ); // => 9:文档节点 console.log( document.body.nodeType ); // => 1:元素节点 console.log( document.getElementById('div').nodeType ); // => 1:元素节点 console.log( document.getElementById('div').attributes.style.nodeType ); // => 2:属性节点
文档节点(document)、元素节点可以通过getElementById、getElementsByName、getElementsByClassName以及getElementsByTagName方法获取元素节点。
4.1、getElementById(id) :获取指定ID的元素
参数:
①id {string} :元素ID。
返回值:
{HtmlElement} 元素节点对象。若没有找到,返回null。
注意:
① HTML元素ID是区分大小写的。
② 若没有找到指定ID的元素,返回null。
③ 若一个父节点下面有多个相同ID元素时,默认选取第一个(而不是层级最高的)。
示例:
document.getElementById('div'); // => 获取ID为div的元素
4.2、getElementsByName(name) :返回一个包含指定name名称的的元素数组
参数:
① name {string} :name名称。
返回值:
{Array} 符合条件的元素数组。若没有找到符合条件的,返回空数组。
示例:
document.getElementsByName('Btn'); // 返回一个name为btn的元素数组
4.3、getElementsByClassName(className) :返回一个包含指定class名称的的元素数组
参数:
① className {string} :class名称。
返回值:
{Array} 符合条件的元素数组。若没有找到符合条件的,返回空数组。
示例:
document.getElementsByClassName('show'); // 返回一个class包含show的元素数组
4.4、getElementsByTagName(elementName) :返回一个指定标签名称的的元素数组
参数:
① elementName {string} :标签名称。如:div、a等等
返回值:
{Array} 符合条件的元素数组。若没有找到符合条件的,返回空数组。
示例:
document.getElementsByTagName('div'); // 返回一个标签为div的元素数组
相关推荐:html教程
以上がHTML ダムとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。