Table des matières
DOM
Niveau nœud
Type de nœud
Type d'élément
Type de texte
Type DocumentFragment
NodeList object
Taille de l'élément
Dimension de décalage
Dimension client (dimension client)
Dimension de défilement (dimension de défilement)
Déterminer la méthode element size
Maison interface Web js tutoriel Introduction détaillée aux connaissances DOM

Introduction détaillée aux connaissances DOM

Jun 26, 2017 am 11:52 AM
知识

DOM

Nous savons que JavaScript est composé de ECMAScript + DOM + BOM. ECMAScript est une syntaxe dans JS, et BOM est principalement un ensemble de connaissances connexes sur l'objet navigateur (fenêtre). Le DOM est un ensemble de connaissances liées aux objets document.

Nous savons que l'interaction entre HTML et JS se réalise via des événements. Le DOM est une API pour les documents HTML (XML). Par conséquent, si nous voulons interagir avec l'utilisateur, nous devons utiliser l'API fournie par le DOM pour obtenir l'élément HTML, puis lier l'événement correspondant à l'élément pour interagir avec l'utilisateur. Par conséquent, comprendre et maîtriser le DOM est très important.

Cet article est principalement basé sur les chapitres relatifs au DOM dans "JavaScript Advanced Programming (3)" pour trier les principales connaissances du DOM et intercaler une partie de ma compréhension personnelle.

Niveau nœud

Tous ceux qui ont écrit du code HTML doivent savoir que nous devons ajouter une indentation à chaque élément, puis écrire les balises et le contenu HTML pertinents, et enfin l'afficher sur la page Web. Ce code et ce contenu HTML imbriqués constituent donc la hiérarchie des nœuds.

Tous ceux qui comprennent ECMAScript doivent savoir que chaque objet dans JS est créé sur la base d'un type de référence, et que le type de référence peut être le type de référence fourni nativement par JS (Array, Function, RegExp, Object etc.), ou il peut s'agir d'un type de référence personnalisé (appelez le type de référence via le nouveau mot-clé (il peut également être appelé constructeur)). Tous les objets sont des objets d'instance d'Object et peuvent hériter des propriétés et méthodes sur Object.prototype

Et dans le DOM, il existe également un mécanisme similaire. Dans le DOM, le type de niveau supérieur est Type de nœud , et tous les autres nœuds peuvent hériter des propriétés et des méthodes sous le type Node. Le type Node est en fait équivalent au constructeur Object dans JS.

Dans ce cas, examinons les propriétés et les méthodes sous le type de nœud

Type de nœud

  • Attributs (dans un certains nœuds spécifiques appellent les propriétés suivantes par héritage) >nodeValue

    • ············

    • childNodes (pointeur, pointant vers la NodeList objet)

    • parentNodes

    • nextSibling

    • previousSibling

    • firstChild

    • lastChild

    • ownDocument (chaque nœud ne peut appartenir qu'à un seul nœud Document)

    • Méthode (appeler la méthode suivante par héritage sur un nœud spécifique)
    • ··· Rechercher un nœud·· ·

    La méthode pour rechercher des éléments se trouve dans le type Document
  • ················ ·······

    • ··· Insérer un nœud···

    • appendChild(ele)

    • insertBefore(ele, target)

    • ·······················

    • ··· Supprimer le nœud···

    • removeChild(ele)

    • ·· ··· ················

    • ··· Remplacer le nœud···

    • replaceChild(ele, cible)

    • ······················

    • ··· Copier le nœud···

    • cloneNode(boolean) true : signifie une copie approfondie, false : signifie une copie superficielle

    • ······················

    • ··· Traitement des nœuds de documents·· · Rarement utilisé ~

    • normalize()

    • Il n'y a qu'un nombre limité de propriétés et de méthodes sur le type Node Encore une fois, toutes. d'entre eux D'autres nœuds peuvent hériter des propriétés et des méthodes du type Node

    • Type de document
    • JS représente les documents via le type Document. L'objet document est une instance de HTMLDocument et représente la page HTML entière. Dans le même temps, l'objet document est également une propriété sous l'objet window, il est donc accessible en tant qu'objet global.

    • Attributs

document.documentElement (représentant des éléments HTML), et l'élément HTML peut être obtenu via document.childNodes[1 ]

document.body (indiquant l'élément de corps)

  • document.head (indiquant l'élément de tête)

    • document.compatMode (indique la méthode de rendu utilisée par le navigateur, 'CSS1Compat' signifie mode standard, 'BackCompat' signifie mode mixte)

    • document.charset (indique la méthode de rendu réelle utilisé dans le jeu de caractères du document, peut également être utilisé pour spécifier un nouveau jeu de caractères)

    • document.dataset (indique l'accès aux propriétés personnalisées via un ensemble de données, tel que document.dataset.myname)

    • document.docType (représente l'élément), il y a des problèmes de compatibilité avec le navigateur

    • document.title (représente l'élément < title >)

    • ··· Demande de page Web···

    • document.URL (obtenir l'adresse URL)

    • document.domain (obtenir l'URL du nom de domaine dans , chemin)

    • document.attributes (récupère les attributs d'un nœud et renvoie un objet NamedNodeMap, similaire à NodeList)

  • méthode

    • ··· Rechercher l'élément···

    • document.getElementById(id) Renvoie l'élément

    • document.getElementsByTagName(classname) renvoie un objet HTMLCollection contenant zéro ou plusieurs éléments, similaire à un objet NodeList

    • document.getElementsByName(ele) renvoie un élément avec un attribut de nom donné, Renvoie également l'objet HTMLCollection

    • document.getElementsByClassName(className) renvoie tous les objets NodeList correspondants (Cette méthode peut être appelée sur le type de document et le type d'élément)

    • le sélecteur document.querySelector(selector) signifie que le sélecteur CSS renvoie le premier élément qui correspond au modèle. S'il n'est pas trouvé, renvoie null (Type de document, type DocumentFragment, type d'élément sont tous vous. peut appeler cette méthode )

    • le sélecteur document.querySelectorAll(selector) indique que le sélecteur CSS renvoie un objet NodeList correspondant avec succès (Type de document, type DocumentFragment, type d'élément Cette méthode peut être appelée )

    • ··· Créer des éléments···

    • document.createElement() (créé L'élément est dans un état libre et doit être inséré via appendChild)

    • ··· Créer un nœud de texte···

    • document.createTextNode( ) (Les éléments Create Good sont dans un état libre et doivent être insérés via appendChild)

    • ··· Déterminer la taille de l'élément···

    • document.getBoundingClientRect()

Type d'élément

  • Attributs

    • id

    • titre

    • lang

    • className

  • Méthode

    • getAttribute(ele) Obtenir un attribut

    • setAttribute(name, value) Définir un l'attribut

    • removeAttribute(ele) supprime un attribut

    • getElementsByTagName(ele) récupère l'élément avec le nom de balise ele

Type de texte

  • Attributs

    • données nodeValue (accéder au texte dans le nœud Texte )

Type DocumentFragment

Objectif : fonctionnement hors ligne des éléments DOM pour éviter un réarrangement et un redessin massif des nœuds DOM, provoquant des problèmes de performances

  • Méthode

    • document.createDocumentFragment() (indique la création d'un fragment de document)

NodeList object

Comprendre NodeList et ses "proches parents" NamedNodeMap et HTMLCollection est la clé d'une compréhension approfondie du DOM dans son ensemble. Les trois collections sont « dynamiques », c'est-à-dire qu'elles sont mises à jour à chaque fois que la structure du document change. Par conséquent, ils détiennent toujours les informations les plus récentes et les plus précises. Essentiellement, tous les objets NodeList sont des requêtes qui s'exécutent en temps réel lors de l'accès au document DOM.

Taille de l'élément

Dimension de décalage

Pour connaître le décalage d'un élément sur la page, comparez les offsetLeft et offsetTop de l'élément avec son offsetParent En ajoutant les mêmes attributs et en bouclant comme ceci jusqu'à l'élément racine, une valeur fondamentalement précise peut être obtenue. Les deux fonctions suivantes peuvent être utilisées pour obtenir respectivement les décalages gauche et supérieur de l'élément.

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;
}
Copier après la connexion

Dimension client (dimension client)

Pour déterminer la taille de la fenêtre d'affichage du navigateur, vous pouvez utiliser clientWidth et document.documentElement ou document.body (dans les versions antérieures à IE7) clientHeight.

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
 };
 }
}
Copier après la connexion

Dimension de défilement (dimension de défilement)

···················

Déterminer la méthode element size

document.getBoundingClientRect() renvoie un objet rectangulaire. Contient 4 attributs : gauche, haut, droite et bas. Ces propriétés donnent la position de l'élément sur la page par rapport à la fenêtre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laissez-vous découvrir les connaissances choquantes du système Win10x Laissez-vous découvrir les connaissances choquantes du système Win10x Jul 14, 2023 am 11:29 AM

Récemment, la dernière image téléchargée du système win10X a été divulguée sur Internet. Contrairement à l'ISO courante, cette image est au format .ffu et ne peut actuellement être utilisée que pour l'expérience Surface Pro7. Bien que de nombreux amis ne puissent pas en faire l'expérience, vous pouvez toujours lire le contenu pertinent de l'évaluation et vous amuser, alors jetons un coup d'œil à la dernière évaluation du système win10x La dernière évaluation du système win10x 1. La plus grande différence entre ! Win10X et Win10 apparaissent pour la première fois après le démarrage. Les boutons sont placés au centre de la barre des tâches. En plus des applications épinglées, la barre des tâches peut également afficher les applications récemment lancées, similaires aux téléphones Android et iOS. 2. Une autre chose est que le menu « Démarrer » du nouveau système ne prend pas en charge les fichiers

Parlons de l'extraction de connaissances. L'avez-vous appris ? Parlons de l'extraction de connaissances. L'avez-vous appris ? Nov 13, 2023 pm 08:13 PM

1. Introduction L'extraction de connaissances fait généralement référence à l'extraction d'informations structurées à partir de textes non structurés, tels que des balises et des phrases contenant des informations sémantiques riches. Ceci est largement utilisé dans l'industrie dans des scénarios tels que la compréhension du contenu et la compréhension des produits. En extrayant des balises précieuses à partir d'informations textuelles générées par l'utilisateur, il est appliqué au contenu ou aux produits. L'extraction des connaissances s'accompagne généralement de la classification des balises ou des expressions extraites. . , est généralement modélisé comme une tâche de reconnaissance d'entité nommée. La tâche générale de reconnaissance d'entité nommée consiste à identifier les composants d'entité nommée et à classer les composants en noms de lieux, noms de personnes, noms d'organisations, etc. marquez des mots dans des catégories définies par Field, telles que la série (Air Force One, Sonic 9), la marque (Nike, Li Ning), le type (chaussures, vêtements, numérique), le style (

Comprendre Golang : connaissances essentielles pour les développeurs Comprendre Golang : connaissances essentielles pour les développeurs Feb 23, 2024 am 10:51 AM

Golang, également connu sous le nom de langage Go, est un langage de programmation open source développé par Google. Depuis sa sortie en 2007, Golang s'est progressivement imposé dans le domaine du développement logiciel et a été plébiscité par de plus en plus de développeurs. En tant que langage compilé à typage statique, Golang présente de nombreux avantages, tels que des capacités de traitement simultané efficaces, une syntaxe concise et une prise en charge d'outils puissants, ce qui lui confère de larges perspectives d'application dans le cloud computing, le traitement du Big Data, la programmation réseau, etc. Cet article présentera les concepts de base de Golang,

Comment un chatbot répond-il aux questions via un knowledge graph ? Comment un chatbot répond-il aux questions via un knowledge graph ? Apr 17, 2023 am 09:13 AM

Préface En 1950, Turing a publié l'article historique "Computing Machinery and Intelligence", proposant un célèbre principe de jugement sur les robots - le test de Turing, également connu sous le nom de jugement de Turing, qui stipule que si le premier Si les trois ne peut pas faire la différence entre les réponses des humains et des machines IA, on peut conclure que la machine possède une intelligence artificielle. En 2008, le majordome IA Jarvis dans "Iron Man" de Marvel a fait savoir aux gens comment l'IA peut aider avec précision les humains (Tony) à résoudre divers problèmes qui leur sont lancés... Figure 1 : le majordome IA Jarvis ( Source de l'image : Internet) Au début En 2023, Chat, un robot de chat gratuit qui a fait son apparition dans le monde de la technologie de manière 2C, est devenu populaire.

Comprendre la sécurité des serveurs Linux : connaissances et compétences essentielles Comprendre la sécurité des serveurs Linux : connaissances et compétences essentielles Sep 09, 2023 pm 02:55 PM

Comprendre la sécurité des serveurs Linux : connaissances et compétences essentielles Avec le développement continu d'Internet, les serveurs Linux sont de plus en plus utilisés dans divers domaines. Cependant, comme les serveurs stockent une grande quantité de données sensibles, leurs problèmes de sécurité sont également au centre de l’attention. Cet article présentera quelques connaissances et compétences essentielles en matière de sécurité des serveurs Linux pour vous aider à protéger votre serveur contre les attaques. Mise à jour et maintenance des systèmes d'exploitation et des logiciels La mise à jour en temps opportun des systèmes d'exploitation et des logiciels est un élément important pour assurer la sécurité de votre serveur. Parce que chaque système d'exploitation et logiciel

En savoir plus sur les nœuds frères jQuery En savoir plus sur les nœuds frères jQuery Feb 27, 2024 pm 06:51 PM

Il ne fait aucun doute que jQuery est l’une des bibliothèques JavaScript les plus utilisées dans le développement front-end, offrant un moyen concis et puissant de manipuler des documents HTML. Dans jQuery, les nœuds frères sont des éléments qui ont le même élément parent que l'élément spécifié. Une compréhension approfondie des nœuds frères jQuery est cruciale pour les développeurs front-end. Cet article explique comment utiliser jQuery pour faire fonctionner des nœuds frères et joint des exemples de code spécifiques. 1. Pour trouver des nœuds frères dans jQuery, nous pouvons passer

Maîtriser les connaissances clés et les compétences pratiques des attributs globaux HTML Maîtriser les connaissances clés et les compétences pratiques des attributs globaux HTML Jan 06, 2024 am 08:40 AM

Connaissances essentielles et compétences pratiques pour apprendre les attributs globaux du HTML HTML (HyperTextMarkupLanguage) est un langage de balisage utilisé pour créer la structure des pages Web. Lors de la création de pages Web, nous devons souvent utiliser diverses balises et attributs pour définir l'apparence et le comportement de la page. Parmi tous les attributs HTML, les attributs globaux constituent un type d'attributs très important. Ils peuvent être appliqués à toutes les balises HTML, offrant aux développeurs Web de puissantes capacités de flexibilité et de personnalisation. Apprendre et utiliser le HTML

Connaissance indispensable des objets intégrés JSP : comprendre quels sont les objets intégrés couramment utilisés dans JSP Connaissance indispensable des objets intégrés JSP : comprendre quels sont les objets intégrés couramment utilisés dans JSP Jan 10, 2024 pm 04:39 PM

Connaissances nécessaires pour apprendre les objets intégrés de JSP : Pour maîtriser les objets intégrés dans jsp, vous avez besoin d'exemples de code spécifiques. JSP (JavaServerPages) est une technologie de développement de pages Web dynamiques. Son avantage est qu'elle combine des langages de programmation dynamiques. ​​​(comme Java) et les pages statiques. Dans JSP, les objets intégrés jouent un rôle important pour faciliter les développeurs dans le traitement des données et le rendu des pages. Cet article présentera certains objets intégrés JSP couramment utilisés et fournira des exemples de code spécifiques pour approfondir la compréhension. demande de paire

See all articles