Published using Google Docs
Solution of Examen 18-19
Updated automatically every 5 minutes

L1 WEB info et DL info/bio

Pour l'ensemble des questions, le  HTML du body sera :

 <section class="part">section 1</section>

 <section class="part"><em>second </em> section 2</section>

 <H1>Mon site </H1>

 <section id="dernier"> dernière section</section>

 <!-- voici le HTML -->

Partie I

Donner le code pour créer un lien vers le haut de la page (body) insérer en début de chaque section

--------

let tmpArticles = document.body.querySelectorAll("section");

for (let i = 0; i < tmpArticles.length; i++) {

  let childEl = document.createElement("a");

  childEl.className = "tmpExample";

  childEl.href = "#";

  let txtNode = document.createTextNode("Haut Page");

  childEl.appendChild(txtNode);

  tmpArticles[i].appendChild(childEl);

}

ou

let tmpSections = document.querySelectorAll('article');
for ( let el of tmpSections) {
   el.insertAdjacentHTML('afterbegin',`<a href="#tmpDialogueExample"> top </a>`)
}

Partie II

  1. Dessinez le résultat si l'on applique les règles CSS

h1 ~ #dernier { border-left : 1px solid black}

section:nth-child(n+3)  { border-bottom : 1px solid black}

section:last-child { border-right : 1px solid black}

section:not(.part) { border-top : 1px solid black}

  1. Quelle formule ne donne pas l'id = "dernier" ?
  1. document.querySelectorAll("#dernier")[0]
  2. document.querySelectorAll('body > section:nth-of-type(3)')
  3. document.querySelector('section+section~section')
  4. document.querySelector('section+section').nextElementSibling
  5. document.body.lastChild.previousElementSibling
  6. document.body.lastElementChild
  7. document.body.getElementById("#dernier")

d : selectionne h1

g : #dernier pas de #

  1. Comment obtenir  le html suivant ?

 <section class="part"><em>second </em> section 2</section>

 <H1>Mon site </H1>

 <section id="dernier"> dernière section</section>

 <section class="part">section 1</section>

 <!-- voici le HTML -->

  1. dernier.insertAdjacentElement("afterend",document.querySelector("section"));
  2. let section =document.querySelectorAll[0] ; dernier.insertAdjacentElement("afterend",section) ;
  3. let section =document.querySelectorAll("section")[0]; document.body.insertAdjacentElement("beforeend",section) ;

solution a

b : queryselector sans parametre

c  :

  1. Comment obtenir  le html suivant ?

 <section class="part">section 1</section>

 <section class="part"><em>second </em> section 2</section>

 <H1>Mon site </H1>

 <section id="dernier"> dernière section</section>

 <!-- voici le HTML -->

<section>ici</section>

  1. let s = document.createElement("section"); s.appendChild(document.createTextNode("ici")); document.body.prepend(s);
  2. let s=document.createElement("section") ; body.beforeEnd(s);s.textContent="ici";
  3. let s = document.createElement("section"); s.textContent ="ici"; document.body.append(s);
  4. let s = document.createElement("section"); s.innerHTML ="ici"; document.body.append(s);
  5.  let s = document.createElement("<section>ici</section>"); document.body.prepend(s);
  6. let s = document.createTextNode("<section>ici</section>"); document.body.prepend(s);

c et d

Partie III Compléter le code pour avoir :

body {

  display: grid;

  grid-gap: 10px;

  grid-template-columns: 1fr 1fr;

  grid-template-areas: "....... header"

                       "sidebar content"

                        "footer footer";

}

solution

Proposer une seconde écriture de la grille pour obtenir le même résultat.

body {

  display: grid;

  grid-gap: 10px;

  grid-template-columns: 1fr 1fr;

 

}

body>*{

 border : 1px solid

}

h1 {

   grid-column : 2;

   grid-row: 1;

}

section:nth-child(1) {

  grid-column: 2;

}

section:nth-child(2){

   grid-column: 1;

}

#dernier {

   grid-column: 1/-1;

}