Maison  >  Article  >  interface Web  >  Résumé des exemples de méthodes de création dynamique de balises html en javascript

Résumé des exemples de méthodes de création dynamique de balises html en javascript

伊谢尔伦
伊谢尔伦original
2017-07-27 10:56:521524parcourir

Attributs d'événement HTML

Attributs d'événement globaux : HTML 4 ajoute la possibilité que des événements déclenchent des actions dans le navigateur, telles que le démarrage de JavaScript lorsque l'utilisateur clique sur un élément. .

a. Attribut d'événement Window, pour les événements déclenchés par l'objet window (appliqué à la balise 6c04bd5ca3fcae76e30b72ad730ca86d), celui couramment utilisé est onload.

b. Événement de formulaire, un événement déclenché par des actions dans un formulaire HTML (appliqué à presque tous les éléments HTML, mais le plus couramment utilisé dans les éléments de formulaire) : les événements couramment utilisés sont onblur, onfocus, onselect et onsubmit.

c. Événement clavier

d. Événement souris, un événement déclenché par la souris ou des actions utilisateur similaires : les événements couramment utilisés sont onclick, onmouseover et onmouseout.

e. Événement multimédia, un événement déclenché par un média (tel que la vidéo, l'image et l'audio) (applicable à tous les éléments HTML, mais couramment trouvé dans les éléments multimédias, tels que b97864c2e0ef2353a16c4d64c7734e92, d8e2720730be5ddc9c2a3782839e8eb6 , a1f02c36ba31691bcfe87b2722de723b, e56d29d837bdd135d1a717bbdfdb8c33 et 36a905548c8276df5a0a9467f3407669).

Créer dynamiquement des balises html

a. Deux méthodes traditionnelles

méthode document.write et attribut innerHTML, dont aucune n'est la méthode. et les attributs pris en charge par le DOM standardisé (norme W3C) sont tous des attributs exclusifs du HTML.

La méthode document.write peut facilement insérer des balises d'éléments, notamment des chaînes. Mais cela va à l’encontre du principe selon lequel la conception Web doit séparer le comportement (script) et la structure (balises HTML).


<!DOCTYPE html>
 <html>
 <head>
 <meta chaset="utf-8" />
 <title>document.write</title>
 <body>
  <script>
  <!--可以很方便的插入元素标签,尤其是字符串.但是它与网页设计应将行为(脚本)和结构(html标签)分离的原则-->
  document.write("<p>This is inserted by document.write</p>");
  </script>
 </body>
 </head>
 </html>

innerHTML convient pour insérer un gros morceau de contenu HTML dans une page Web, tel que :


<p id="testp">
 </p>
 window.onload = function() {
 var testp = document.getElementById("testp");
 testp.innerHTML = "<p>This is inserted by <em>innerHTML</em></p><en>";
 }

b. Méthode dom plus raffinée - obtenir l'arborescence des nœuds dom et modifier l'arborescence des nœuds dom

Récupérer les nœuds (éléments) : document.getElementById et element.getElementsByTagName

Créer des nœuds (Element) : document.createElement, document.createTextNode

Ajouter un nœud (Element) : element.appendChild

Insérer (insérer un nœud avant un autre nœud) : parentEelement.insertBefore( newElement , targetElement)

Attributs très utiles : element.parentNode (obtenir le nœud parent), element.nextSibling (obtenir le nœud frère)

L'effet de l'insertion de HTML à l'aide de l'attribut innerHTML ci-dessus peut toujours être utilisé avec la méthode dom Implémentation :


 window.onload = function() {
  var testp = document.getElementById("testp");
  var para = document.createElement("p");
  testp.appendChild(para);
  var context1 = doument.createTextNode("This is inserted by ");
  para.appendChild(context1);
  var emphasis = document.createElement("em");
  para.appendChild(emphasis);
  var context2 = document.createTextNode("method of domcore");
  emphasis.appendChild(context2);
 }

Utilisez la méthode dom ci-dessus pour écrire une fonction qui insère un nœud dans un autre nœud :


function insertAfter(newElement, targetElement) {
 var parent = targetElement.parentNode;
 if (parent.lastChild == targetElement) {
  parent.appendChild(newElement);
 } else {
  targetElement.inserBefore(newElement, targetElement.nextSibling);
 }
}

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