10598 sujets

JavaScript, DOM et API Web HTML5

Bonjour, j'ai un souci dans mon code, je souhaiterai changer le style en bold d'une partie de texte et je n'y arrive pas.

merci de votre aide

// Liste des questions à afficher. Une question est définie par son énoncé et sa réponse
var questions = [{
    enonce: "Combien font 2+2 ?",
    reponse: "2+2 = 4"
  },
  {
    enonce: "En quelle année Christophe Colomb a-t-il découvert l'Amérique ?",
    reponse: "1492"
  },
  {
    enonce: "On me trouve 2 fois dans l'année, 1 fois dans la semaine, mais pas du tout dans le jour... Qui suis-je ?",
    reponse: "La lettre N"
  }
];

var divResult = document.createElement("div");
divResult.setAttribute("class", "result");
document.querySelector("body").prepend(divResult);

for (var i = 0; i < questions.length; i++) {
  var quest = document.createElement("p");
  var formalite = "Question" + (i + 1);
  // cette ligne ne marche pas
  // formalite.setAttribute("fontWeight", "bold");
  // cette ligne non plus
  // formalite.style.fontWeight("bold");
  // cette ligne non plus
  formalite.style.fontWeight = "bold";
  quest.textContent = formalite + ": " + questions[i].enonce
  document.querySelector(".result").appendChild(quest);

  questions[i]
}
Salut,


Si je ne me trompe pas, la variable "formalite " est juste un texte non ? Tu peux pas vraiment coller de CSS sur un string... t'as essayé sur "quest" plutôt ?

Bonne journée
Salut

Pense à regarder les erreurs de ta console. elle sont ultra précieuses.
En fait Jencal même là j'était dans l'impasse. au passage j'ai vu le ";" qui manque Smiley smile

je vais essayer de créer un élément qui contient une span et peut-être modifier celle ci LAurent

quelque chose comme


quest.innerHTML = <span>+formalite+</span> + ": " + questions[i].enonce;

+ QuerySelector sur le span et le modifer avec style.fontWeight...


mais je ne sais pas ce que sa donnera, je verrai.
Je pense que tu devrais plutôt passer par un
document.createElement("span");

si tu veux creer un span.

Et effectivement si tu ne veux donner un style qu'au début du texte il vaut mieux lui mettre un span autour. D’ailleurs pour tout ce qui est style je te conseillerais plutôt de tout gérer en CSS si possible. Tu peux juste donner une classe à tes div et a tes span et tout gérer coté CSS grâce a ces classes. Ton Js n'en sera que plus léger et ton code plus maintenable.