A quoi ressemble un objet HTML complet et comment le générer ?
Pour les objets html, il faut d'abord mentionner le nœud Node. Node est une interface De nombreux types DOM héritent de cette interface et permettent de traiter (ou tester) de manière similaire. Existe-t-il des interfaces dont Node hérite de ses méthodes et propriétés ? Lisons d’abord cet article. apache php mysql
Pourquoi écrire cet article ?
Vous faites peut-être du développement Web depuis un certain temps. Avez-vous déjà réfléchi aux questions suivantes ?
Pourquoi l'élément p ou même tous les éléments HTML peuvent-ils utiliser addEventListener pour ajouter des événements ?
Pourquoi chaque nœud DOM a-t-il des attributs tels que parentNode, firstChild, nodeType, etc. ?
Pourquoi chaque élément DOM a-t-il des attributs tels que className, classList, innerHTML, etc. ?
Pourquoi certains éléments du DOM ont-ils des attributs tels que accessKey, contentEditable, isContentEditable, etc. ?
Pourquoi chaque élément DOM a-t-il des attributs onclick, ondblclick, ondrag et autres ?
Cet article a pour but de répondre à ces questions simples mais pas « simples ».
EventTarget
Définition
EventTarget est une interface implémentée par des objets qui peuvent recevoir des événements, et des auditeurs peuvent être créés pour eux.
Rôle
L'élément, le document et la fenêtre sont les cibles d'événements les plus courantes, mais d'autres objets peuvent également être des cibles d'événements, tels que XMLHttpRequest, AudioNode, AudioContext, etc.
De nombreuses cibles d'événements (y compris les éléments, les documents et les fenêtres) prennent également en charge la définition de gestionnaires d'événements via les attributs et attributs onXXX (tels que onclick).
Les méthodes de cette interface
EventTarget.addEventListener()
Enregistrez un gestionnaire d'événements pour un type d'événement spécifique sur EventTarget.
EventTarget.removeEventListener()
Supprimez l'écouteur d'événement de EventTarget.
EventTarget.dispatchEvent()
Distribue les événements à cet EventTarget.
Nous implémentons EventTarget nous-mêmes
var EventTarget = function() { this.listeners = {}; }; EventTarget.prototype.listeners = null; EventTarget.prototype.addEventListener = function(type, callback) { if (!(type in this.listeners)) { this.listeners[type] = []; } this.listeners[type].push(callback); }; EventTarget.prototype.removeEventListener = function(type, callback) { if (!(type in this.listeners)) { return; } var stack = this.listeners[type]; for (var i = 0, l = stack.length; i < l; i++) { if (stack[i] === callback){ stack.splice(i, 1); return; } } }; EventTarget.prototype.dispatchEvent = function(event) { if (!(event.type in this.listeners)) { return true; } var stack = this.listeners[event.type].slice(); for (var i = 0, l = stack.length; i < l; i++) { stack[i].call(this, event); } return !event.defaultPrevented; };
Node
Définition
Node est une interface dont héritent de nombreux types de DOM et permet des choses comme Process ( ou tester) ces différents types. Node est une interface dont héritent de nombreux types DOM et permet à ces différents types d'être gérés (ou testés) de la même manière.
Existe-t-il des interfaces dont Node hérite de ses méthodes et propriétés ?
Document, Element, CharacterData (dont Text, Comment et CDATASection héritent), ProcessingInstruction, DocumentFragment, DocumentType, Notation, Entity, EntityReference
PS : dans les cas spécifiques où les méthodes et les propriétés ne sont pas liées, ces L'interface peut renvoyer null. Ils peuvent lever des exceptions - par exemple, lors de l'ajout d'un nœud enfant à un nœud qui n'autorise pas l'existence de nœuds enfants.
Attributs et méthodes liés à l'interface
Attributs
Node.baseURI
Renvoie une DOMString représentant l'URL de base. Le concept d'URL de base dans différentes langues est différent. En HTML, l'URL de base représente le protocole et le nom de domaine, ainsi que le répertoire du fichier jusqu'au dernier '/'.
Node.childNodes
Renvoie une NodeList en temps réel contenant tous les nœuds enfants de ce nœud. NodeList est « en temps réel », ce qui signifie que si les nœuds enfants du nœud changent, l'objet NodeList sera automatiquement mis à jour.
Node.firstChild
Renvoie le premier nœud enfant de ce nœud, ou null si le nœud n'a pas de nœud enfant.
Node.lastChild
Renvoie le dernier nœud enfant de ce nœud, ou null si le nœud n'a pas de nœud enfant.
Certains attributs de l'interface Node sont omis ici, et d'autres attributs peuvent être trouvés ici.
Méthode
Voici le point !
Points clés : Il hérite des méthodes addEventListener, removeEventListener, dispatchEvent et d'autres méthodes de sa classe parent EventTarget.
Node.appendChild()
Ajoute un nœud à la fin de la liste des nœuds enfants du nœud parent spécifié.
Node.contains()
renvoie une valeur booléenne pour indiquer si le nœud entrant est un nœud descendant du nœud.
Node.cloneNode()
Renvoie une copie du nœud sur lequel cette méthode a été appelée.
Certaines méthodes d'interface Node sont omises ici, d'autres méthodes peuvent être trouvées ici.
Element
Description
Element est une classe de base très générale, et tous les objets sous l'objet Document en héritent. Cette interface décrit les méthodes et propriétés communes à tous les éléments de même nature. Ces interfaces héritent d'Element et ajoutent des fonctionnalités supplémentaires pour décrire des comportements spécifiques.
PS : L'interface HTMLElement est l'interface de base pour tous les éléments HTML, et l'interface SVGElement est l'interface de base pour tous les éléments SVG.
Dans des langages autres que le web, comme XUL, vous pouvez également l'implémenter via l'API de XULElement.
Attributs
Tous les attributs héritent de son interface ancêtre Node et de l'interface qu'il étend EventTarget, et hérite des attributs de ParentNode, ChildNode, NonDocumentTypeChildNode et Animatable.
Element. assignéSlot
Renvoie l'interface HTMLSlotElement correspondant à l'élément
Element.attributes
Renvoie une collection de tous les attributs liés à l'élément NamedNodeMap
Element.classList
L'attribut de classe renvoyé par cet élément est une DOMTokenList.
Element.className
C'est une DOMString représentant la classe de cet élément.
Ici, omettez certains éléments. propriétés de l'interface, voir ici pour plus de méthodes.
Méthode
Voici le point !
Hérite des méthodes de sa classe parent (Node) et de la classe parent de sa classe parent (EventTarget), et implémente parentNode, ChildNode, NonDocumentTypeChildNode et Animatable.
Certaines méthodes d'interface Element sont omises ici, d'autres méthodes peuvent être trouvées ici. La méthode
Element.closest()
est utilisée pour obtenir l'élément ancêtre qui correspond à un sélecteur spécifique et est le plus proche de l'élément actuel (il peut également s'agir de l'élément actuel lui-même). Si aucune correspondance n'est trouvée, null est renvoyé.
Element.getAttribute()
Renvoie la dernière valeur d'attribut spécifiée sur l'élément. Si la propriété spécifiée n'existe pas, renvoie null ou "" (chaîne vide).
Element.getElementsByClassName()
La liste des classes est donnée dans le paramètre, et une HTMLCollection dynamique est renvoyée, qui contient tous les éléments descendants détenant ces classes.
Certaines méthodes d'interface Element sont omises ici, d'autres méthodes peuvent être trouvées ici.
HTMLElement
Fonction
L'interface HTMLElement représente tous les éléments HTML. Certains éléments HTML implémentent directement l'interface HTMLElement, d'autres implémentent indirectement l'interface HTMLElement.
Attributs
Alors voici le point important !
Propriétés héritées de l'interface parent Element et GlobalEventHandlers.
HTMLElement.accessKey DOMString Obtient/définit la touche de raccourci pour l'accès à l'élément
HTMLElement.accessKeyLabel DOMString Renvoie une chaîne contenant la touche de raccourci pour l'accès à l'élément (lecture seule)
HTMLElement.contentEditable DOMString Obtient/définit la touche de raccourci de l'élément access key Editing status
HTMLElement.isContentEditable Boolean Indique si le contenu de l'élément est modifiable (lecture seule)
Plusieurs attributs d'interface HTMLElement sont omis ici, voir ici pour plus de méthodes.
htmlelement.ontouchStart
htmlelement.ontouchend
htmlelement.ontouchMove
htmlelement.ontouch> TouchLeave
htmleice.ontouchCancel
Méthodes
HTMLElement.blur() void L'élément perd le focus
HTMLElement.click() void Déclenche l'événement click de l'élémentHTMLElement.focus() void L'élément obtient le focus
HTMLElement. forceSpellCheck() void
GlobalEventHandlers
Definition
L'interface GlobalEventHandlers décrit plusieurs interfaces courantes pour les gestionnaires d'événements tels que HTMLElement, file, window ou WorkerGlobalScope Web Workers. Ces interfaces peuvent implémenter davantage de gestionnaires d'événements.
Propriétés
GlobalEventHandlers.onabort
Événements d'interruption.
GlobalEventHandlers.onblur
Événement de perte de focus.
GlobalEventHandlers.onfocus
Obtenez l'événement focus.
Certaines propriétés de l'interface GlobalEventHandlers sont omises ici. Pour plus de méthodes, voir ici.
Interface des éléments
Cette interface est utilisée pour créer les éléments correspondants.
Par exemple :L'interface HTMLpElement fournit des attributs spéciaux (elle hérite également de l'interface HTMLElement habituelle) pour opérer sur l'élément p.
L'interface HTMLFormElement peut créer ou modifier des objets
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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Sujets chauds





Guide de la bordure de tableau en HTML. Nous discutons ici de plusieurs façons de définir une bordure de tableau avec des exemples de bordure de tableau en HTML.

Ceci est un guide des tableaux imbriqués en HTML. Nous discutons ici de la façon de créer un tableau dans le tableau ainsi que des exemples respectifs.

Guide de la marge HTML gauche. Nous discutons ici d'un bref aperçu de la marge gauche HTML et de ses exemples ainsi que de son implémentation de code.

Guide de mise en page des tableaux HTML. Nous discutons ici des valeurs de la mise en page des tableaux HTML ainsi que des exemples et des résultats en détail.

Guide de l'espace réservé de saisie HTML. Nous discutons ici des exemples d'espace réservé d'entrée HTML ainsi que des codes et des sorties.

Guide pour déplacer du texte en HTML. Nous discutons ici d'une introduction, du fonctionnement des balises de sélection avec la syntaxe et des exemples à implémenter.

Guide de la liste ordonnée HTML. Ici, nous discutons également de l'introduction de la liste et des types HTML ordonnés ainsi que de leur exemple respectivement.

Guide du bouton HTML onclick. Nous discutons ici de leur introduction, de leur fonctionnement, des exemples et de l'événement onclick dans divers événements respectivement.
