Salut
Je vais essayer de faire court.
Via un petit script dans un code html, je récupère dans une variable une chaîne de caractères. Et j'aimerais que cette chaîne de caractères soit ensuite insérée dans l'html d'un bloc. Sauf qu'au lieu de ça, c'est tout bêtement le nom de la variable qui est prise comme chaîne de caractères.
Concrètement, l'utilisateur clique, par exemple, sur le titre "stratosfear". Je crée une variable "titre" qui récupère la chaîne de caractères "stratosfear" et rajoute ".mp3".
Donc titre = stratosfear.mp3
J'ai un petit lecteur audio html5, qui est dans un bloc div (que je récupère dans une variable "audio").
L'innerHTML du bloc div vaut ici <audio src="" controls></audio>
Je veux récupérer la valeur de la variable titre, et l'insérer de cette façon :
audio.innerHTML = '<audio src =
titre
controls></audio>';
Au lieu de prendre la valeur de la variable titre, il prend la propre chaîne de caractères "titre"
Pour finir voici donc le code pour mieux comprendre :
<div class="bloc">
<div class="audio"><audio src="" controls></audio></div>
<p class="morceau">stratosfear</p>
</div>
<script>
var audio = document.querySelector (".audio");
var morceau = document.querySelector (".morceau");
morceau.onclick = function () {
var titre = morceau.innerHTML + ".mp3";
audio.innerHTML = '<audio src=titre controls></audio>';
alert (audio.innerHTML);
};
</script>
Merci de m'éclairer 