1. Einführung in DOM
1. Einführung in DOM
DOM bezieht sich auf das Document Object Model, ein Dokumentobjektmodell, das speziell auf HTML/XHTML anwendbar ist. Wenn Sie ein Softwareentwickler sind, können Sie es sich als die API einer Webseite vorstellen. DOM behandelt jedes Element auf der Webseite als Objekt, sodass die Elemente auf der Webseite auch von der Computersprache abgerufen oder bearbeitet werden können. Beispielsweise kann JavaScript DOM verwenden, um die Webseite dynamisch zu ändern.
1.2. DOM nach den Operationsobjekten klassifizieren
Entsprechend den verschiedenen Operationsobjekten kann es in Core DOM, XML DOM und HTML DOM unterteilt werden.
Core Dom: Core Dom, das Standardmodell für jedes strukturierte Dokument.
XML DOM: Standardmodell für XML-Dokumente, das mit XML-Elementen arbeitet.
HTML DOM: Standardmodell für HTML-Dokumente, das mit HTML-Elementen arbeitet.
1.3, DOM-Funktion
① Fragen Sie ein Element ab
② Fragen Sie die Vorfahren, Brüder und Nachkommen eines Elements ab
③ Rufen Sie die Attribute des Elements ab und ändern Sie sie Elemente erstellen, einfügen und löschen
2. DOM-Knoten
Alle Inhalte im Dokument können als Knoten (Knoten) dargestellt werden, z. B.: In HTML können das gesamte Dokument, jedes Tag, die Attribute und der Text jedes Tags dargestellt werden als Knoten verwendet werden.
2.1. Knotenklassifizierung
① Dokumentknoten (Dokument): das gesamte XML-, HTML-Dokument
② Elementknoten (Element): jedes XML-, HTML-Element
③ Attributknoten (Attr): jedes XML-, HTML-Element Attribute
④ Textknoten (Text): der Text in jedem XML- und HTML-Element
⑤ Kommentarknoten (Comment): jeder Kommentar
Hinweis: Der Dokumentknoten ist hier ein allgemeiner Begriff, der in XMLDocument und HTMLDocument unterteilt werden kann. Ebenso kann Element auch in XMLElement und HTMLElement unterteilt werden.
2.2. HTML-DOM-Knotenhierarchie
Knoten haben hierarchische Beziehungen zueinander: übergeordneter Knoten, Geschwisterknoten, untergeordneter Knoten usw.
(1) Beispiel:
HTML-Dokument in HTML-DOM-Knotenbaum konvertieren
(2) Beispieldiagrammanalyse1) Der übergeordnete Knoten des
-Elements ist < ;html> ;Element.2) Das
-Element und das -Element sind Geschwisterknoten.3) Das
3. HTML-DOM-Knotenattribute
Einführung in HTML-DOM-Knotenattribute wie: innerHTML, innerText, nodeName, nodeValue und nodeType usw.
3.1. innerHTML: Den Inhalt des Knotens im HTML-Codeformat abrufen oder festlegen
Beschreibung: Wenn er dem innerHTML-Attribut im HTML-Format zugewiesen wird, wird er in Form von HTML dargestellt. Beispiel: node.innerHTML="" zeigt eine Schaltfläche an.
Beispiel:
document.getElementById('div').innerHTML="<input type='button' value='按钮' />"; // 设置div元素的innerHTML为一个按钮 document.getElementById('div').innerHTML; // => <input type='button' value='按钮' /> :以HTML格式返回节点的内容
Beschreibung: Den Inhalt des Knotens in Form einer Textzeichenfolge abrufen oder festlegen.
Beispiel 1:
Zuweisen von Inhalten im HTML-Format wird als Zeichenfolge „“ angezeigt .
Beispiel 2:Beim Abrufen von Inhalten wird nur der Textinhalt abgerufen.
document.getElementById('div').innerText; // => "文本1 文本2"
Beschreibung:
(Lernvideofreigabe:HTML-Video-Tutorial)
Beispiel: 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:属性节点
Beschreibung: Diese Eigenschaft von Dokumentknoten und Elementknoten gibt null zurück und ist schreibgeschützt.
Beispiel: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属性的值
Beschreibung:
Beispiel: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教程
Das obige ist der detaillierte Inhalt vonWas ist HTML-Dom?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!