Sujet 10

  1. Bienvenue au 10e sujet
  2. Révisions - 7
    1. Bubbling 1
    2. Bubbling 2
    3. event.target
    4. this
    5. this
    6. HTML généré
    7. event.target vérification
  3. Révisions-8
    1. Arrow functions 1
    2. Arrow functions 2
    3. Arrow functions 3
    4. Arrow functions 4
    5. Arrow functions : traduction inverse
    6. Boucle for ... of
    7. Boucle for ... of 2
    8. foreach
    9. foreach 2
  4. Révisions 9
    1. jQuery; simple
    2. Décomposition d'une ligne jQuery
    3. liste jQuery
    4. liste jQuery z
    5. attribut
    6. Click
    7. Traduction jQuery
    8. contenu paragraphe
    9. Champs texte
    10. Créer un élément
    11. Élément courant
    12. Traduire
    13. Correspondance jQuery DOM

1. Bienvenue au 10e sujet

1.1 Bienvenue au 10e sujet

Vous devez travailler connectés (lien « Connexion » en haut à droite de la page). Sinon, vous rencontrerez des problèmes d'avancement et vous risquez d'être comptés absent. En étant connectés vous retrouverez l'endroit où vous en étiez à la séance suivante.


2. Révisions - 7

2.1 Révisions - 7

Révisons les notions vues au Sujet-7

Révisions - 7

2.2 Bubbling 1

<body>
     <h1> Bonjour,
<span>Cliquez sur le <input type="button" value="bouton"/></span>
<i>important</i>
</h1>
     <p>Merci</p>
</body>
document.querySelector('h1').addEventListener('click',()=>console.log('hello'))

Sur quel(s) élément(s) peut cliquer l'utilisateur pour afficher « hello » sur la console ?

Révisions - 7

2.3 Bubbling 2

<body>
     <h1> Bonjour,
<span>Cliquez sur le <input type="button" value="bouton"/></span>
<i>important</i>
</h1>
     <p>Merci</p>
</body>
document.querySelector('body' ).addEventListener('click',()=>console.log('Click sur body' ));
document.querySelector('h1' ).addEventListener('click',()=>console.log('Click sur h1' ));
document.querySelector('span' ).addEventListener('click',()=>console.log('Click sur span' ));
document.querySelector('input').addEventListener('click',()=>console.log('Click sur input'));
document.querySelector('i' ).addEventListener('click',()=>console.log('Click sur i' ));
document.querySelector('p' ).addEventListener('click',()=>console.log('Click sur p' ));

L'utilisateur clique sur le bouton. Qu'est-ce qui est affiché dans la console ?
(ne tenez pas compte de l'ordre)


Révisions - 7

2.4 event.target

<body>
     <h1> Bonjour,
<span>Cliquez sur le <input type="button" value="bouton"/></span>
<i>important</i>
</h1>
     <p>Merci</p>
</body>
document.querySelector('h1'   ).addEventListener('click',(event)=>console.log(event.target.nodeName));

Qu'est-ce qui est affiché dans la console quand l'utilisateur clique sur le bouton ?


Révisions - 7

2.5 this

<body>
     <h1> Bonjour,
<span>Cliquez sur le <input type="button" value="bouton"/></span>
<i>important</i>
</h1>
     <p>Merci</p>
</body>
document.querySelector('h1'   ).addEventListener('click',(event)=>console.log(this.nodeName));

Qu'est-ce qui est affiché dans la console quand l'utilisateur clique sur le bouton ?


Révisions - 7

2.6 this

<body>
     <h1> Bonjour,
<span>Cliquez sur le <input type="button" value="bouton"/></span>
<i>important</i>
</h1>
     <p>Merci</p>
</body>
document.querySelector('body'   ).addEventListener('click',(event)=>console.log(this.nodeName));

Qu'est-ce qui est affiché dans la console quand l'utilisateur clique sur le bouton ?


Révisions - 7

2.7 HTML généré

<input type="button"/>
<ul>
</u>
document.querySelector('input').addEventListener('click',function(){
    let l=document.createElement('li');
    l.textContent='hello';
   document.querySelector('ul').append(l);
});
document.querySelector('XYZ').addEventListener('click',()=>console.log('click'))

Quand l'utilisateur clique sur le bouton une ligne <li> est ajoutée dans le <ul>.

Que faut-il écrire à la place de XYZ pour afficher 'click' dans la console quand l'utilisateur clique sur un de ces <li> ?

Révisions - 7

2.8 event.target vérification

<input type="button"/>
<ul>
<li>Tomate</li>
<li>Poire</li>
<li>Orange</li>
</u>
document.querySelector('ul').addEventListener('click',function(event){
if(XYZ){return;}
console.log('click');
})

Que faut-il écrire à la place de XYZ pour que « click » ne soit affiché que quand l'utilisateur clique sur un LI ?

3. Révisions-8

3.1 Révisions-8

Révisons les notions vues au Sujet-8

Révisions-8

3.2 Arrow functions 1

Écrivez une fonction fléchée, simplifiée au maximum, qui prend en paramètre deux entiers x et y et retourne la somme de ces deux entiers.

Révisions-8

3.3 Arrow functions 2

Écrivez une fonction fléchée, simplifiée au maximum, qui prend en paramètre un paramètre « s » et l'affiche dans la console.

Révisions-8

3.4 Arrow functions 3

Traduisez cette fonction anonyme en fonction fléchée, en simplifiant au maximum.

function(a){return Math.max(a,0);}

Révisions-8

3.5 Arrow functions 4

Traduisez cette fonction anonyme en fonction fléchée, en simplifiant au maximum.

function(x,y,z){let a=x+y;return z*a;}

Révisions-8

3.6 Arrow functions : traduction inverse

Traduisez cette fonction fléchée en fonction anonyme non fléchée.

(u,v)=>u+':'+v


Révisions-8

3.7 Boucle for ... of

let tab=['train','voiture','vélo','train'];

Utilisez une boucle for ... of pour afficher chacun des véhicules du tableau dans la console.
Utilisez la variable « v » pour la boucle.

Révisions-8

3.8 Boucle for ... of 2

const ps=document.querySelectorAll('p');

Utilisez une boucle for ... of pour afficher tous les paragraphes en rouge.
Utilisez la variable « p » pour la boucle.

Révisions-8

3.9 foreach

const ps=document.querySelectorAll('p');

Utilisez  forEach pour afficher tous les paragraphes en rouge.
Utilisez la variable « p »  et « ps »

Révisions-8

3.10 foreach 2

let tab=['train','voiture','vélo','train'];
function ma_fonction(x)
{
console.log(x);
}

Utilisez forEach et ma_fonction pour afficher le tableau.

4. Révisions 9

4.1 Révisions 9

Révisons les notions vues au Sujet-9

Révisions 9

4.2 jQuery; simple

En utilisant jQuery, affichez en rouge tous les paragraphes du document.

Révisions 9

4.3 Décomposition d'une ligne jQuery

Décomposons la ligne suivante en plusieurs parties:

$('p').css('color','red');

Révisions 9

4.4 liste jQuery

Que faut-il écrire pour créer une liste jQuery contenant tous les éléments ayant class="actu" ?

Révisions 9

4.5 liste jQuery z

XYZ
z.css('color','red');

En jQuery, que faut-il écrire à la place de XYZ pour que le code ci-dessus affiche en rouge tous les <li> du document ?

Révisions 9

4.6 attribut

En jQuery que faut-il écrire pour transformer la première ceci:

<div>bla bla</div>

en ceci:

<div style="left:100px">bla bla</div>

Révisions 9

4.7 Click

function ma_fonction()
{
    console.log('click');
}

Que faut-il écrire en jQuery pour que ma_fonction soit appelée quand un utilisateur clique sur un paragraphe ?

Révisions 9

4.8 Traduction jQuery

<span>Cerise</span><span>Framboise</span><span>Fraise</span>
function afficher(){
   console.log('click');
}

Traduisez le code DOM suivant en jQuery:

document.querySelectorAll('span').forEach(s=>s.addEventListener('click',afficher));

Révisions 9

4.9 contenu paragraphe

<p id="p1">Tom</p>
<p id="p2">Joe</p>

Que faut-il écrire en jQuery pour que le deuxième paragraphe affiche « Liam » à la place de « Joe » ?

Révisions 9

4.10 Champs texte

<input type="text"/>
console.log(XYZ);

Que faut-il écrire à la place de XYZ pour afficher dans la console ce que l'utilisateur a tapé dans le champs texte ?

Révisions 9

4.11 Créer un élément

<div>
   <p>bonjour</p>
   <p>aurevoir</p>
<div>
let n=XYZ;
n.text('coucou');
$('div').append(n);

On voudrait créer un nouveau paragraphe et l'insérer dans le div. La création d'un élément se fait en plusieurs étapes.
Que faut-il écrire à la place de XYZ ?

Révisions 9

4.12 Élément courant

<span>Cerise</span><span>Framboise</span><span>Fraise</span>
$('span').on('click',function(){XYZ});

Quand l'utilisateur clique sur un <span>, il devient rouge. Que faut-il écrire à la place de XYZ ?

Révisions 9

4.13 Traduire

.ok{
   color: green;
}
<ul>
   <li>Avion</li>
   <li>Train</li>
   <li>Voiture</li>
</u>

Traduisez le code suivant en jQuery (en une seule ligne):

const lis=document.querySelectorAll('li');
for(const li of lis){
    li.classList.add('ok');
}


Révisions 9

4.14 Correspondance jQuery DOM

Quelles sont les fonction jQuery correspondant aux notion DOM suivantes: