Detaillierte Einführung in das DOM-Wissen
DOM
Wir wissen, dass JavaScript aus ECMAScript + DOM + BOM besteht. ECMAScript ist eine Syntax in JS, und BOM ist hauptsächlich eine Sammlung verwandter Kenntnisse über das Browserobjekt (Fensterobjekt). Das DOM ist eine Wissenssammlung zu Dokumentobjekten.
Wir wissen, dass die Interaktion zwischen HTML und JS durch Ereignisse erreicht wird. Das DOM ist eine API für HTML-Dokumente (XML). Wenn wir also mit dem Benutzer interagieren möchten, müssen wir die vom DOM bereitgestellte API verwenden, um das HTML-Element abzurufen, und dann das entsprechende Ereignis an das Element binden, um mit dem Benutzer zu interagieren. Daher ist es sehr wichtig, DOM zu verstehen und zu beherrschen.
Dieser Artikel basiert hauptsächlich auf den DOM-bezogenen Kapiteln in „JavaScript Advanced Programming (3)“, um das Hauptwissen über DOM zu ordnen und einige meiner persönlichen Kenntnisse einzubringen.
Knotenebene
Jeder, der HTML-Code geschrieben hat, sollte wissen, dass wir jedem Element einen Einzug hinzufügen, dann die relevanten HTML-Tags und Inhalte schreiben und ihn schließlich auf der Webseite anzeigen müssen. Dieser verschachtelte HTML-Code und Inhalt bildet also die Knotenhierarchie.
Jeder, der ECMAScript versteht, sollte wissen, dass jedes Objekt in JS auf der Grundlage eines Referenztyps erstellt wird und der Referenztyp der von JS nativ bereitgestellte Referenztyp sein kann (Array, Funktion, RegExp, Objekt usw.). oder es kann sich um einen benutzerdefinierten Referenztyp handeln (der Referenztyp wird über das Schlüsselwort new aufgerufen (er kann auch als Konstruktor bezeichnet werden)). Alle Objekte sind Instanzobjekte von Object und können die Eigenschaften und Methoden von Object.prototype erben.
Und im DOM gibt es auch einen ähnlichen Mechanismus. Im DOM ist der Typ der obersten Ebene Knotentyp , und alle anderen Knoten können die Eigenschaften und Methoden unter dem Knotentyp erben. Der Node-Typ entspricht tatsächlich dem Object-Konstruktor in JS.
In diesem Fall werfen wir einen Blick auf die Eigenschaften und Methoden unter dem Knotentyp
Knotentyp
Attribute (in a bestimmte spezifische Knoten rufen die folgenden Eigenschaften durch Vererbung auf)
nodeType
nodeName
nodeValue
··············
childNodes (Zeiger, der auf die NodeList zeigt Objekt)
parentNodes
nextSibling
previousSibling
-
firstChild
lastChild
ownDocument (jeder Knoten kann nur zu einem Document-Knoten gehören)
Methode (rufen Sie die folgende Methode durch Vererbung auf einem bestimmten Knoten auf)
··· Knoten finden·· ·
Die Methode zum Suchen von Elementen befindet sich im Dokumenttyp
················ ········
··· Knoten einfügen···
appendChild(ele)
insertBefore(ele, target)
-
·······················
··· Knoten löschen···
removeChild(ele)
··· ·· ···················
··· Knoten ersetzen···
-
replaceChild(ele, target)
························
··· Knoten kopieren···
cloneNode(boolean) true: bedeutet tiefe Kopie, false: bedeutet flache Kopie
························
··· Dokumentknoten verarbeiten··· Selten verwendet ~
normalize()
Es gibt nur eine begrenzte Anzahl von Eigenschaften und Methoden für den Node-Typ. Nochmals: alle Sie Andere Knoten können die Eigenschaften und Methoden des Knotentyps erben
Dokumenttyp
JS repräsentiert Dokumente über den Dokumenttyp. Das Dokumentobjekt ist eine Instanz von HTMLDocument und repräsentiert die gesamte HTML-Seite. Gleichzeitig ist das Dokumentobjekt auch eine Eigenschaft unter dem Fensterobjekt, sodass auf es als globales Objekt zugegriffen werden kann.
Attribute
document.documentElement (stellt das HTML-Element dar), und das HTML-Element kann über document.childNodes[1 abgerufen werden ]
document.body (repräsentiert das Körperelement)
document.head (repräsentiert das Kopfelement)
document.compatMode (gibt an, welche Rendering-Methode der Browser verwendet, „CSS1Compat“ bedeutet Standardmodus, „BackCompat“ bedeutet gemischter Modus)
document.charset (gibt den tatsächlichen an Wird im Zeichensatz des Dokuments verwendet und kann auch zum Angeben eines neuen Zeichensatzes verwendet werden 🎜>
- document.docType (stellt das Element dar), es gibt Probleme mit der Browserkompatibilität
- document.title (stellt das Element < title > dar)
- ···Webseitenanforderung···
- document.URL (URL-Adresse abrufen)
- document.domain (URL-Domänennamen in abrufen, Pfadname)
document.attributes (rufen Sie die Attribute eines Knotens ab und geben Sie ein NamedNodeMap-Objekt zurück, ähnlich wie NodeList)
Methode
··· Finden Sie das Element···
document.getElementById(id) Geben Sie das Element zurück
document.getElementsByTagName(classname) gibt ein HTMLCollection-Objekt zurück, das null oder mehr Elemente enthält, ähnlich einem NodeList-Objekt
document.getElementsByName(ele) gibt ein Element mit einem bestimmten Namensattribut zurück, Gibt außerdem das HTMLCollection-Objekt zurück
-
document.getElementsByClassName(className) gibt alle passenden NodeList-Objekte zurück (Diese Methode kann für Dokumenttyp und Elementtyp aufgerufen werden)
document.querySelector(selector)-Selektor bedeutet, dass der CSS-Selektor das erste Element zurückgibt, das dem Muster entspricht. Wenn es nicht gefunden wird, wird null zurückgegeben (Dokumenttyp, DocumentFragment-Typ, Elementtyp sind alle Sie kann diese Methode aufrufen )
document.querySelectorAll(selector) Selector zeigt an, dass der CSS-Selektor ein erfolgreich passendes NodeList-Objekt zurückgibt (Dokumenttyp, DocumentFragment-Typ, Elementtyp Diese Methode kann aufgerufen werden )
··· Elemente erstellen···
document.createElement() (erstellt Das Element befindet sich in einem freien Zustand und muss über appendChild eingefügt werden)
··· Textknoten erstellen···
document.createTextNode( ) (Gute Elemente erstellen sind in einem freien Zustand und müssen über appendChild eingefügt werden)
··· Bestimmen Sie die Elementgröße···
document.getBoundingClientRect()
Elementtyp
Attribute
id
title
lang
className
Methode
getAttribute(ele) Holen Sie sich ein Attribut
setAttribute(name, value) Legen Sie ein fest attribute
removeAttribute(ele) entfernt ein Attribut
getElementsByTagName(ele) ruft das Element mit dem Tag-Namen ele
ab
Texttyp
Attribute
nodeValue data (Zugriff auf den Text im Textknoten). )
DocumentFragment-Typ
Zweck: Offline-Betrieb von DOM-Elementen, um eine massive Neuanordnung und Neuzeichnung von DOM-Knoten zu vermeiden, was zu Leistungsproblemen führt
Methode
document.createDocumentFragment() (zeigt das Erstellen eines Dokumentfragments an)
NodeList Objekt
NodeList und seine „nahen Verwandten“ NamedNodeMap und HTMLCollection zu verstehen, ist der Schlüssel zu einem gründlichen Verständnis des DOM als Ganzes. Alle drei Sammlungen sind „dynamisch“, d. h. sie werden jedes Mal aktualisiert, wenn sich die Dokumentstruktur ändert. Daher verfügen sie immer über die neuesten und genauesten Informationen. Im Wesentlichen handelt es sich bei allen NodeList-Objekten um Abfragen, die in Echtzeit ausgeführt werden, während auf das DOM-Dokument zugegriffen wird.
Elementgröße
Offset-Dimension
Um den Offset eines Elements auf der Seite zu ermitteln, vergleichen Sie offsetLeft und offsetTop des Elements mit seinem offsetParent, indem Sie dieselben Attribute hinzufügen und eine Schleife ausführen Dadurch kann bis zum Wurzelelement ein grundsätzlich genauer Wert ermittelt werden. Die folgenden zwei Funktionen können verwendet werden, um den linken bzw. oberen Versatz des Elements zu ermitteln.
function getElementLeft(element){ var actualLeft = element.offsetLeft; var current = element.offsetParent; while (current !== null){ actualLeft += current.offsetLeft; current = current.offsetParent; } return actualLeft; } function getElementTop(element){ var actualTop = element.offsetTop; var current = element.offsetParent; while (current !== null){ actualTop += current. offsetTop; current = current.offsetParent; } return actualTop; }
Client-Dimension (Client-Dimension)
Um die Browser-Ansichtsfenstergröße zu bestimmen, können Sie clientWidth und document.documentElement oder document.body (in Versionen vor IE7) clientHeight verwenden.
function getViewport(){ if (document.compatMode == "BackCompat"){ return { width: document.body.clientWidth, height: document.body.clientHeight }; } else { return { width: document.documentElement.clientWidth, height: document.documentElement.clientHeight }; } }
Scroll-Dimension (Scroll-Dimension)
······················
Bestimmen Die Methode element size
document.getBoundingClientRect() gibt ein rechteckiges Objekt zurück. Enthält 4 Attribute: links, oben, rechts und unten. Diese Eigenschaften geben die Position des Elements auf der Seite relativ zum Ansichtsfenster an.
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das DOM-Wissen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Kürzlich ist der neueste Image-Download des Win10X-Systems im Internet durchgesickert. Anders als die übliche ISO liegt dieses Image im .ffu-Format vor und kann derzeit nur für das Surface Pro7-Erlebnis verwendet werden. Obwohl viele Freunde es nicht erleben können, können Sie dennoch den relevanten Inhalt der Bewertung lesen und Spaß haben. Werfen wir also einen Blick auf die neueste Bewertung des Win10x-Systems. Die neueste Bewertung des Win10x-Systems 1. Der größte Unterschied zwischen Win10X und Win10 erscheinen erstmals nach dem Hochfahren in der Mitte der Taskleiste. Zusätzlich zu angehefteten Anwendungen können in der Taskleiste auch kürzlich gestartete Anwendungen angezeigt werden, ähnlich wie bei Android- und iOS-Telefonen. 2. Eine weitere Sache ist, dass das „Start“-Menü des neuen Systems keine Datei unterstützt

1. Einleitung Unter Wissensextraktion versteht man in der Regel die Gewinnung strukturierter Informationen aus unstrukturiertem Text, beispielsweise Tags und Phrasen, die umfangreiche semantische Informationen enthalten. Dies wird häufig in Szenarien wie dem Inhaltsverständnis und dem Produktverständnis in der Branche verwendet. Durch das Extrahieren wertvoller Tags aus benutzergenerierten Textinformationen wird die Wissensextraktion normalerweise von der Klassifizierung der extrahierten Tags oder Phrasen begleitet . wird normalerweise als Erkennungsaufgabe für benannte Entitäten modelliert. Die allgemeine Erkennungsaufgabe für benannte Entitäten besteht darin, die Komponenten in Ortsnamen, Personennamen, Organisationsnamen usw. zu klassifizieren Taggen Sie Wörter in felddefinierte Kategorien, z. B. Serie (Air Force One, Sonic 9), Marke (Nike, Li Ning), Typ (Schuhe, Kleidung, Digital), Stil (

Golang, auch bekannt als Go-Sprache, ist eine von Google entwickelte Open-Source-Programmiersprache. Seit seiner Veröffentlichung im Jahr 2007 hat sich Golang nach und nach im Bereich der Softwareentwicklung etabliert und wird von immer mehr Entwicklern bevorzugt. Als statisch typisierte, kompilierte Sprache bietet Golang viele Vorteile, wie z. B. effiziente Funktionen zur gleichzeitigen Verarbeitung, präzise Syntax und leistungsstarke Toolunterstützung, wodurch es breite Anwendungsaussichten in den Bereichen Cloud Computing, Big Data-Verarbeitung, Netzwerkprogrammierung usw. bietet. In diesem Artikel werden die Grundkonzepte von Golang vorgestellt.

Vorwort Im Jahr 1950 veröffentlichte Turing das bahnbrechende Papier „Computing Machinery and Intelligence“ (Computing Machinery and Intelligence), in dem er ein berühmtes Beurteilungsprinzip über Roboter vorschlug – den Turing-Test, auch bekannt als Turing-Urteil, der besagt, dass wenn der erste Wenn die drei Wenn wir den Unterschied zwischen den Reaktionen von Menschen und KI-Maschinen nicht unterscheiden können, kann daraus geschlossen werden, dass die Maschine über künstliche Intelligenz verfügt. Im Jahr 2008 ließ der KI-Butler Jarvis in Marvels „Iron Man“ die Menschen wissen, wie KI Menschen (Tony) präzise dabei helfen kann, verschiedene Probleme zu lösen, die ihnen gestellt werden ... Abbildung 1: KI-Butler Jarvis (Bildquelle: Internet) Zu Beginn Im Jahr 2023 wurde Chat populär, ein kostenloser Chat-Roboter, der im 2C-Stil in der Technologiewelt Einzug hielt.

Verständnis der Sicherheit von Linux-Servern: Grundlegende Kenntnisse und Fähigkeiten Mit der kontinuierlichen Entwicklung des Internets werden Linux-Server zunehmend in verschiedenen Bereichen eingesetzt. Da Server jedoch eine große Menge sensibler Daten speichern, geraten auch deren Sicherheitsaspekte in den Fokus der Aufmerksamkeit. In diesem Artikel werden einige grundlegende Kenntnisse und Fähigkeiten zur Linux-Serversicherheit vorgestellt, die Ihnen helfen, Ihren Server vor Angriffen zu schützen. Aktualisieren und Warten von Betriebssystemen und Software Die rechtzeitige Aktualisierung von Betriebssystemen und Software ist ein wichtiger Bestandteil der Sicherheit Ihres Servers. Denn jedes Betriebssystem und jede Software

Es besteht kein Zweifel, dass jQuery eine der am häufigsten verwendeten JavaScript-Bibliotheken in der Front-End-Entwicklung ist und eine prägnante und leistungsstarke Möglichkeit zur Bearbeitung von HTML-Dokumenten bietet. In jQuery sind Geschwisterknoten Elemente, die dasselbe übergeordnete Element wie das angegebene Element haben. Ein tiefes Verständnis der jQuery-Geschwisterknoten ist für Front-End-Entwickler von entscheidender Bedeutung. In diesem Artikel wird erläutert, wie Sie mit jQuery Geschwisterknoten betreiben, und es werden spezifische Codebeispiele angehängt. 1. Um Geschwisterknoten in jQuery zu finden, können wir übergeben

Grundlegende Kenntnisse und praktische Fähigkeiten zum Erlernen der globalen Attribute von HTML HTML (HyperTextMarkupLanguage) ist eine Auszeichnungssprache, die zum Erstellen der Struktur von Webseiten verwendet wird. Beim Erstellen von Webseiten müssen wir häufig verschiedene Tags und Attribute verwenden, um das Erscheinungsbild und Verhalten der Seite zu definieren. Unter allen HTML-Attributen sind globale Attribute ein sehr wichtiger Attributtyp. Sie können auf alle HTML-Tags angewendet werden und bieten Webentwicklern leistungsstarke Flexibilität und Anpassungsmöglichkeiten. HTML lernen und verwenden

Notwendige Kenntnisse zum Erlernen der integrierten Objekte von JSP: Um die integrierten Objekte in JSP zu beherrschen, benötigen Sie spezifische Codebeispiele. JSP (JavaServerPages) ist eine dynamische Webseitenentwicklungstechnologie. Ihr Vorteil besteht darin, dass sie dynamische Programmiersprachen kombiniert (wie Java) und statische Seiten. In JSP spielen integrierte Objekte eine wichtige Rolle, um Entwicklern die Datenverarbeitung und das Rendern von Seiten zu erleichtern. In diesem Artikel werden einige häufig verwendete integrierte JSP-Objekte vorgestellt und spezifische Codebeispiele bereitgestellt, um das Verständnis zu vertiefen. Anforderungspaar
