Introduction détaillée aux connaissances DOM
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·· ·
················ ·······
- ··· 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; }
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 }; } }
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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

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 (

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,

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 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

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

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

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
