Le DOM (Document Object Model) est un standard W3C qui permet à des script (ici JavaScript) d'accéder ou de mettre à jour le contenu visuel, la structure ou le style de documents XML et HTML.
Ce Support explique quelques concepts de base de NodeJS et montre comment mettre en oeuvre la technologie NodeJS pour développer la partie Backend d'une application.
Les vidéos des démonstrations sont publiées sur les adresse suivantes :
- https://www.youtube.com/watch?v=-X_C1tS5-9Y
- https://www.youtube.com/watch?v=rE-xRH28m0s
- https://www.youtube.com/watch?v=tnxjkTvWoKA
Cette série explique les éléments suivants :
- Architecture Web
- Modèles Multi-Threads avec les entrées sorties bloquantes
- Modèles Single Thread avec les entrées sortie non bloquantes
-Technologie Node JS
- Comment créer une simple application Node JS avec java Script
- Architecture du Framwork Express
- Comment créer une application NodeJS avec Type Script
- Comment écrire des tests unitaires avec Jest
- Quelques concepts sur MongoDb
- Comment Créer une API Rest avec NodeJS, Express et MongoDb
- Comment tester l'API Rest
- Comment Créer la partie FrontEnd avec Angular.
Même si la qualité audio n'est pas bonne, ses vidéos peuvent aider ceux qui débutent dans NodeJS en attendant d'autres vidéos avec plus qualité audio et de contenu.
Bonne lecture
Un support de cours complet sur l'architecture JEE et l'industrialisation du génie logiciel. Ce support contient les parties suivantes :
- Tendances du génie logiciel
- Architecture JEE
- Services de l'infrastructure JEE (jdbc, jndi, rmi,servlet, jsp, jstl, jsf,EJB, JaxWS, JaxRS, JMS, JMX, ....)
- Maven : Outil d'industrialisation du génie logiciel
- Junit : Test Unitaires
- Hibernate
- Spring IOC et Spring MVC
- Struts 2
Bon apprentissage à tous
Maven
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Ce Support explique quelques concepts de base de NodeJS et montre comment mettre en oeuvre la technologie NodeJS pour développer la partie Backend d'une application.
Les vidéos des démonstrations sont publiées sur les adresse suivantes :
- https://www.youtube.com/watch?v=-X_C1tS5-9Y
- https://www.youtube.com/watch?v=rE-xRH28m0s
- https://www.youtube.com/watch?v=tnxjkTvWoKA
Cette série explique les éléments suivants :
- Architecture Web
- Modèles Multi-Threads avec les entrées sorties bloquantes
- Modèles Single Thread avec les entrées sortie non bloquantes
-Technologie Node JS
- Comment créer une simple application Node JS avec java Script
- Architecture du Framwork Express
- Comment créer une application NodeJS avec Type Script
- Comment écrire des tests unitaires avec Jest
- Quelques concepts sur MongoDb
- Comment Créer une API Rest avec NodeJS, Express et MongoDb
- Comment tester l'API Rest
- Comment Créer la partie FrontEnd avec Angular.
Même si la qualité audio n'est pas bonne, ses vidéos peuvent aider ceux qui débutent dans NodeJS en attendant d'autres vidéos avec plus qualité audio et de contenu.
Bonne lecture
Un support de cours complet sur l'architecture JEE et l'industrialisation du génie logiciel. Ce support contient les parties suivantes :
- Tendances du génie logiciel
- Architecture JEE
- Services de l'infrastructure JEE (jdbc, jndi, rmi,servlet, jsp, jstl, jsf,EJB, JaxWS, JaxRS, JMS, JMX, ....)
- Maven : Outil d'industrialisation du génie logiciel
- Junit : Test Unitaires
- Hibernate
- Spring IOC et Spring MVC
- Struts 2
Bon apprentissage à tous
Maven
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Voici le chapitre sur la surcharge des opérateurs en C++.
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture
Ce support explique les concepts de bases du principe de l'inversion de contrôle et d'injections des dépendances.
Les concepts les plus importants à comprendre par les futurs ingénieurs du génie Logiciel.
Support Dot Net avec C#. Ce cours traite les points suivants :
- Architecture .Net
- Les bases de C#
- Objet et Classe
- Héritage
- Encapsulation
- Polymorphisme
- Les exceptions
- Les entrées sorties
- Les interfaces graphiques
- Le multi Threading
- Programmation réseaux (Sockets et DataGram)
- Accès aux bases de données
Voici le chapitre sur les pointeurs et les références en C++.
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture.
Ce support de cours contient les concepts fondamentaux de la sécurité des applications Web Statless avec Json Web Token. Des applications de mise en oeuvre de JWT et Spring Security pour les applications basées sur les Micro-services sont publiées ma chaîne vidéo Youtube :
https://www.youtube.com/user/mohamedYoussfi
Le code source des applications est publié sur mon compte GitHUB:
https://github.com/mohamedYoussfi/
Bon apprentissage
ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.
Le développement Web avec ASP.NET est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net ==> il s'agit d'une insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client. On dit On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML
L'objectif de cette introduction est de :
- Comprendre le fonctionnement du Framework .Net
- Comprendre les principes de base de ASP.NET
- Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET
Un Système de Gestion de Bases de Données Réparties est constitué d'un ensemble de processeurs autonomes «appelés sites » (stations de travail, micro-ordinateurs, …) reliés par un réseau de communication qui leur permet d'échanger des données. Un SGBDRé suppose que les données soient stockées sur au moins deux sites. Chaque site est doté de son propre SGBD.
Ce support de cours propose une vue d’ensemble sur les avantages et inconvénients de répartition de données. Aussi, il présente les différentes techniques de répartition
Voici le chapitre sur la surcharge des opérateurs en C++.
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture
Ce support explique les concepts de bases du principe de l'inversion de contrôle et d'injections des dépendances.
Les concepts les plus importants à comprendre par les futurs ingénieurs du génie Logiciel.
Support Dot Net avec C#. Ce cours traite les points suivants :
- Architecture .Net
- Les bases de C#
- Objet et Classe
- Héritage
- Encapsulation
- Polymorphisme
- Les exceptions
- Les entrées sorties
- Les interfaces graphiques
- Le multi Threading
- Programmation réseaux (Sockets et DataGram)
- Accès aux bases de données
Voici le chapitre sur les pointeurs et les références en C++.
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture.
Ce support de cours contient les concepts fondamentaux de la sécurité des applications Web Statless avec Json Web Token. Des applications de mise en oeuvre de JWT et Spring Security pour les applications basées sur les Micro-services sont publiées ma chaîne vidéo Youtube :
https://www.youtube.com/user/mohamedYoussfi
Le code source des applications est publié sur mon compte GitHUB:
https://github.com/mohamedYoussfi/
Bon apprentissage
ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.
Le développement Web avec ASP.NET est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net ==> il s'agit d'une insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client. On dit On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML
L'objectif de cette introduction est de :
- Comprendre le fonctionnement du Framework .Net
- Comprendre les principes de base de ASP.NET
- Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET
Un Système de Gestion de Bases de Données Réparties est constitué d'un ensemble de processeurs autonomes «appelés sites » (stations de travail, micro-ordinateurs, …) reliés par un réseau de communication qui leur permet d'échanger des données. Un SGBDRé suppose que les données soient stockées sur au moins deux sites. Chaque site est doté de son propre SGBD.
Ce support de cours propose une vue d’ensemble sur les avantages et inconvénients de répartition de données. Aussi, il présente les différentes techniques de répartition
Présente une description complète sur les curseurs avec exemples et exercices corrigés. Ainsi, vous allez trouver:
- Définition des curseurs
- Curseurs implicites
- Curseurs explicites
- Les curseurs paramétrables
- Accès concurrents (FOR UPDATE)
- Variables de types Curseurs: Curseurs non typés et typés
-
PL/SQL (Procedural Language / SQL), l’extension procédurale proposée par Oracle pour SQL (L4G),
Il permet de combiner des requêtes SQL (SELECT, INSERT, UPDATE et DELETE) et des instructions procédurales (boucles, conditions...),
Créer des traitements complexes destinés à être stockés sur le serveur de base de données (objets serveur),
Comme on le sait, les structures de contrôle habituelles d’un langage (IF, WHILE…) ne font pas partie intégrante de la norme SQL. Oracle les prend en compte dans PL/SQL.
Pl/sql - interaction avec la base de données & structures de contrôleAbdelouahed Abdou
Interaction avec la base de données
Extraction
Insertion
Modification
Suppression
Structures de contrôle
Structures conditionnelles :
IF
case
Structures répétitives:
LOOP
WHILE-LOOP
FOR-LOOP
Structures répétitives:
Boucles avec étiquettes
Contrôle séquentiel avec GOTO
Opérateurs de comparaison:
IS NULL
LIKE
BETWEEN
IN
Ajax (Asynchronous JavaScript and XML) est une technique permettant la communication asynchrone entre application et serveur. c'est une architecture qui permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies.
Ajax combine JavaScript, les CSS, XML, le DOM et le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des Applications Internet Riches
Ce cours est une introduction au traitements informatique des images. Le traitement d'images consiste à changer la nature d'une image, afin de:
1.Améliorer de l’information contenue pour aider à l'interprétation par l'homme,
2.La rendre plus adaptée pour une perception autonome de la machine.
Normes de base du Web GTI780 & MTI780 ETS A09Claude Coulombe
Présentation sur les normes de base du Web dans le cadre du cours combiné GTI780 / MTI780, Sujets spéciaux en TI, donné par Claude Coulombe, à l'Ecole de technologie supérieure, Montréal, Automne 2009
Voici une présentation sur l’HTML5 que j’ai réalisé pour l’entreprise Sfeir dans laquelle je travaille. Bien que vous n’ayez pas accès à tout le contenu retranscrit à l’oral, elle peut déjà vous apporter une synthèse assez complète de ce que cette technologie apporte.
jQuery est une bibliothèque JavaScript libre qui porte sur l'interaction entre JavaScript (comprenant Ajax) et HTML, et a pour but
de simplifier des commandes communes de JavaScript. La première version date de janvier 2006.
Le framework contient notamment les fonctionnalités suivantes :
- Parcours et modification du DOM
- Selecteurs CSS 1 à 3
- Événements
- Effets et animations
- Manipulations des feuilles de style en cascade
- Ajax
- Plugins
- Fonctions utilitaires
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
L’arrivée de PHP 5.3 en milieu d’année 2009 a bouleversé la manière de développer des applications web. En effet, cette nouvelle version a apporté de nouveaux outils au langage tels que les espaces de nommage qui favorisent la réutilisabilité du code lorsqu’ils sont employés à bon escient. Les nouveaux frameworks de développement rapide ont aussi suivi le mouvement et reposent sur la base de PHP 5.3. C’est le cas de Symfony2 dont la version stable est prévue prochainement.
Cette présentation offre un tour d’horizon de la nouvelle architecture du framework qui s’articule autour de “bundles”, de librairies externes et de nombreux composants indépendants tels que le conteneur d’injection de dépendances. Nous dresserons un panorama des principales fonctionnalités offertes par le framework telles que la couche d’ORM Doctrine 2, le moteur de templating Twig et la gestion des formulaires. Nous nous intéresserons également à la gestion du cache HTTP, à la couche de sécurité ainsi qu’aux outils de débogage destinés à améliorer la productivité du développeur et la maintenance de l’application.
HTML 4 pour les nuls » par E. Tittel, N. Pitts et C. Valentine
« HTML : précis et concis » par J. Niederst et J. Guérin au édition O’Reilly
« Introduction à HTML et CSS » par E. Sarrion au édition O’Reilly
« HTML et XHTML : La référence » de C. Musciano, B. Kennedy et J. Guérin au édition O’Reilly
N’importe quel autre bouquin sur HTML…
Objectif général : Prendre en main la bibliothèque JavaScript la plus utilisée
Objectifs spécifiques :
Inclure la bibliothèque
Sélectionner du contenu
Manipuler des éléments
Mettre en forme du contenu
Gérer des évènements
Utiliser des effets
Effectuer des requêtes AJAX
2. INTRODUCTION
Le Document Object Model (ou DOM) est un
standard du W3C qui décrit une interface
indépendante de tout langage de
programmation et de toute plate-forme,
permettant à des programmes informatiques et à
des scripts d'accéder et/ou de mettre à jour le
contenu, la structure ou le style de documents
(langage de balisage) XML et HTML.
Src. Wikipédia
2
3. HISTORIQUE
Avant sa standardisation par le W3C,
chaque navigateur web disposait de son
propre Document Object Model.
Différence entre noms d’objets pour différents
Navigateur web il faut écrire plusieurs versions de
chaque morceau de script pour rendre un site
accessible au plus grand nombre de navigateur
La standardisation de ces techniques s'est faite
en plusieurs étapes DOM 1, DOM 2 et DOM 3
3
4. HISTORIQUE
DOM niveau 1:
Publié en 1998
Définition par le W3C d’une manière précise de représenter
un document (en particulier un document XML) sous la
forme d'un arbre
Ainsi, chaque élément généré à partir du balisage forme un
nœud (Node):
pour le cas de HTML, un paragraphe, un titre ou un
bouton de formulaire et considéré comme un nœud
Aussi, ils ont introduits plusieurs fonctions qui permettent
de manipuler l’arbre: ajouter, modifier ou supprimer des
éléments (nœuds).
4
5. HISTORIQUE
DOM 2:
Publié en 2002
Possibilité de manipuler les événements, les styles et
les Views
Dans cette version, il est possible d’identifier
rapidement un nœud ou un groupe de nœuds dans un
document
Avant, on cherche un nœud dans un tableau
DOM 2 fera appel à la fonction getElementById()
Norme standard de W3C
5
6. HISTORIQUE
DOM 3:
Publié en 2004
Ajout d’interface de chargement (événement Load) et
de sauvegarde de documents XML, Xpath (événement
Save).
6
7. NŒUDS
Tout composant ou élément d’un document de balissage
(Html, Xhtml ou XML) constitue un nœud (node)
Document node (nœud document): le document lui méme.
Ex. le document entier
Toutefois la balise comme iframe peut introduire un nouveau document
Element node (nœud élément): chaque balise ou élément.
Ex. <hi>, <p>, <ul>, <li>, …
Text node (noeud texte): texte contenu entre les balises.
Ex., pour <p> Mon paragraphe</p>, les mots "Mon paragraphe"
constituent un nœud texte
Attribute node (noeud attribut): Chaque attribut d’une balise ou
élément.
Ex: Pour <img href="logo.png« alt="Logo" />, href et alt sont des
nœuds attribut
Comment node (noeud de commentaire): Commentaires
7
8. HIÉRARCHIE DES NŒUDS
Les nœuds dans un langage de balisage sont en
relation hiérarchique sou forme d’un arbre
généalogique
Ainsi, la realtion entre nœuds peut étre qualifié
de relation:
parent/enfant:
Des nœuds peuvent avoir des ascendants et des
descendants:
Nœuds ascendants sont les nœuds qui sont parents d’un
nœud ou parents d’un nœud parent
Nœuds descendants sont les nœuds qui sont enfants d’un
nœud ou enfants d’un nœud enfant
frères et sœurs (siblings), 8
9. HIÉRARCHIE DES NŒUDS
Exemple:
9
<html>
<head>
<title>Hiérarchie des nœuds</title>
</head>
<body>
<h1>Titre de niveau 1</h1>
<p>Mon paragraphe</p>
<h2>Titre de niveau 2</h2>
</body>
</html>
Document
HTML
Head
Title
Hiérarchie
des nœuds
Body
H1
Titre de
niveau 1
P
Mon
paragraph
e
H2
Titre de
niveau 2
Types de nœuds:
nœud document: Document
nœuds élément: html, head, body, title, h1, p, h2
Nœuds texte: Hiérarchie des nœuds, Titre de niveau 1, Mon paragraphe, Titre
de niveau 2
10. HIÉRARCHIE DES NŒUDS
Exemple (suite): Relation entre nœuds:
11
Nœud parent Nœud fils
HTML HEAD
HEAD TITLE
TITLE Hiérarchie des nœuds
BODY H2
H2 Titre de niveau 2
NB: À l’exception du
nœud document, chaque
nœud a un parent:
Nœuds frères et sœurs (siblings)
<H1>, <P> ET <H2>
<HEAD> et <BODY>
Ascendants Descendants
<HTML> Les nœuds de texte
<BODY> le nœud de texte de <p>
11. ACCÉDER AU NŒUDS
Pour manipuler les nœuds dans un document, on va utiliser les
méthodes et propriétés de l’objet «document »
Méthodes:
getElementById(x): retourne le nœud élément dont l'ID est x
getElementsByName(x): retourne la liste de nœuds identifiés par l’attribut
name="X" . Le résultat est sous forme d’un tableau Array.
getElementsByTagName(x): retourne la liste de nœuds (balises) de type
spécifique « X ». Le résultat est sous forme d’un tableau Array
item(n) : retourne l'élément en position n dans une lise de nœuds
Propriétés:
innerHTML : attribut pour lire ou assigner le contenu d'un ID. utiliser avec les
nœuds de type 3 (#Texte)
parentNode: Renvoie le nœud parent d’un nœud.
firstChild: Renvoie le premier enfant d’un nœud
lastChild: Renvoie le dernier enfant d’un nœud
childNodes(x): Stocke une liste de tous les nœuds enfant disponibles à partir d’un
nœud X
previousSibling: Renvoie le nœud frères/sœurs précédent d’un nœud.
nextSibling; Renvoie le nœud frères/sœurs suivant d’un nœud.
nodeName: Indique le nom du nœud sélectionné
nodeType: Indique le type de nœud rencontré. 1 si le nœud est un élément. 2 si
c’est un attribut. 3 s’il s’agit du nœud de texte
nodeValue: Permet d’obtenir ou de changer la valeur d’un nœud de type texte
12
12. ACCÉDER AU NŒUDS
Exemple:
13
<html> <head>
<title>Hiérarchie des nœuds</title>
<script type="text/javascript">
function GetNode() {
var x = document.getElementById("Ttr1").nodeName;
var y = document.getElementsByName("btn")[0].value;
//var y = document.getElementsByName("btn").item(0).value;
var z = document.getElementsByTagName("ul")[0].parentNode;
var f = document.getElementById("Ttr2").firstChild.nodeValue; ;
alert("x: " + x + "n" + "y:" + y + "n" + "z:" + z + "n" + "e:" + e + "n" + "f:" + f);
}
</script>
</head>
<body>
<h1 id="Ttr1">Titre de niveau 1</h1>
<p>Mon paragraphe</p>
<ul> <li> choix 1</li><li> choix 2</li><li> choix 3</li></ul>
<input type="text" value="Mon Texte" name="Txt"/>
<h1 id="H1">Titre de niveau 1</h1>
<h2 id="Ttr2">Titre de niveau 2</h2>
<input type="button" name="btn" value="Afficher" onclick="GetNode()" />
</body> </html>
13. ACCÉDER AU NŒUDS
Exercice: pour la page HTML d’en bas
Ecrire le code JavaScript pour afficher un pop-up contenant:
Le titre
Le type du bouton « Afficher ». L’attribut Name du bouton est «btn »
Le nom de la balise « Un deuxième paragraphe portant l'identifiant p12 »
Le nom du nœud parent du premier titre h2
Le deuxième paragraphe dont l'identifiant p12
Le premier titre h2
le texte en gras dans « premier paragraphe »
Ecrire le code pour remplacer le texte «Deuxième titre h2 » par le texte du bouton
«Afficher»
14
<html> <head> <title>Exercice d'accès aux Nœuds</title> </head>
<body> <h1>Exemples d'accès aux éléments</h1> <h2>Premier titre h2</h2>
<p>Un premier <b>paragraphe.</b></p> <p id="p12">Un deuxième paragraphe portant l'identifiant p12</p>
<p>Un troisième paragraphe.</p>
<h2>Deuxième titre h2</h2>
<p>Un quatrième paragraphe.</p>
<p name="unpar">Un cinquième paragraphe portant le name unpar.</p>
<p name="unpar">Un sixième paragraphe portant le name unpar.</p>
<p>Un septième paragraphe.</p>
<input type="button" value="Afficher" name="btn" onclick="DOM()" />
</body> </html>
14. ACCÉDER AU NŒUDS
Exercice (suite):
15
<script type="text/javascript">
function DOM() {
var tt=document.title;
var nt= document.getElementsByName("btn").item(0).nodeType;
var nn= document.getElementById("p12").nodeName;
var nnp=document.getElementsByTagName("h2").item(0).parentNode.nodeName;
var ndn= document.getElementById("p12").firstChild.nodeValue;
// ou bien
//var ndn=document.getElementById("p12").innerHTML;
var npt= document.getElementsByTagName("h2").item(0).firstChild.nodeValue;
var tgp= document.getElementsByTagName("p").item(0).childNodes.item(1).firstChild.nodeValue;
alert(tt+"n"+nt+"n"+nn+"n"+nnp+"n"+ndn+"n"+npt+"n"+tgp);
var x = document.getElementsByName("btn");
var y = document.getElementsByTagName("h2");
y.item(0).firstChild.nodeValue = x.item(0).value;
}
</script>
15. ACCÉDER AUX ATTRIBUTS
Les attributs sont des propriétés de l’élément
La propriété « attributes » renvoie une liste des
attributs d’un élément spécifié.
Exemple:
// Lecture de la valeur d’un attribut
var para = document.getElementsByTagName("p").item(0);
var attributs = para.attributes;
alert(attributs.getNamedItem("lang").nodeValue);
// Ajout d’un attribut
var attr = document.createAttribute("visible");
attr.value = "false";
para.attributes.setNamedItem(attr); 16
16. MANIPULER LES NŒUDS
Pour ajouter ou supprimer un nœud on utilise:
Méthodes
createElement("TagName") : crée un élément et retourne un objet
Element (un type de Node)
createTextNode("data") : crée un nœud de type #text
appendChild(x) : ajoute un élément à l'instance, en tant que dernier
enfant. Cette méthode s’applique toujours à un nœud parent.
insertBefore(x, y): insère un nœud x avant un autre nœud y.
replaceChild(x,y): remplace un nœud y par un autre nœud x
removeChild(Node): supprime le nœud (et éventuellement ses
descendants)
17
17. MANIPULER LES NŒUDS
Exemple:
18
function AddNode() {
var x = document.createElement("p");
var texte = document.createTextNode("Nouveau Paragraphe");
x.appendChild(texte);
var attr = document.createAttribute("title");
attr.value = "Nouveau title du paragraphe";
x.attributes.setNamedItem(attr);
document.body.appendChild(x);
}
function AddNodeBefore() {
var y= document.getElementById("H1");
var x = document.createElement("p");
var texte = document.createTextNode("Nouveau Paragraphe");
x.appendChild(texte);
var attr = document.createAttribute("title");
attr.value = "Nouveau title du paragraphe";
x.attributes.setNamedItem(attr);
document.body.insertBefore(x,y);
}
18. MANIPULER LES NŒUDS
Exemple:
19
function repChild() {
var h1 = document.createElement("H1");
var txt = document.createTextNode("Nouveau Titre1");
h1.appendChild(txt);
var y = document.getElementById("H2");
document.body.replaceChild(h1, y);
}
function remNode() {
var y = document.getElementsByTagName("input")[0];
// var y = document.getElementsByTagName("input").item(0);
document.body.removeChild(y);
//y.parentNode.removeChild(y);
}
19. MANIPULER LES NŒUDS
Créer la page Web suivante et Ajouter les scripts JavaScript pour
Ajouter, Supprimer, Insérer avant et Remplacer
20
<body>
<form action="">
<p>
<textarea id="zonetexte" rows="3" cols="30"></textarea>
</p>
<p>
<input type="radio" name="bouton" />Ajouter
<input type="radio" name="bouton" />Supprimer
<input type="radio" name="bouton" />Insérer avant
<input type="radio" name="bouton" />Remplacer
</p>
<p>
Quel paragraphe ? : <select id="liste"></select>
<input type="submit" value="Tester"/></p>
</form>
<div id="modifiable"> </div>
</body>
</html>