Maison > Article > interface Web > 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
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 est une interface implémentée par des objets qui peuvent recevoir des événements, et des auditeurs peuvent être créés pour eux.
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).
Enregistrez un gestionnaire d'événements pour un type d'événement spécifique sur EventTarget.
Supprimez l'écouteur d'événement de EventTarget.
Distribue les événements à cet EventTarget.
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 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.
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.
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 '/'.
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.
Renvoie le premier nœud enfant de ce nœud, ou null si le nœud n'a pas de nœud enfant.
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.
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.
Ajoute un nœud à la fin de la liste des nœuds enfants du nœud parent spécifié.
renvoie une valeur booléenne pour indiquer si le nœud entrant est un nœud descendant du nœud.
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 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.
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.
Renvoie l'interface HTMLSlotElement correspondant à l'élément
Renvoie une collection de tous les attributs liés à l'élément NamedNodeMap
L'attribut de classe renvoyé par cet élément est une DOMTokenList.
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.
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
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é.
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).
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.
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.
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.ontouchend
htmlelement.ontouchMove
htmlelement.ontouch> TouchLeave
htmleice.ontouchCancel
Méthodes
HTMLElement.focus() void L'élément obtient le focus
HTMLElement. forceSpellCheck() void
GlobalEventHandlers
Propriétés
GlobalEventHandlers.onblur
GlobalEventHandlers.onfocus
Interface des éléments
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!