Je configure un bouton via javascript, mais le bouton n'affiche pas le texte.
Une recommandation sur la façon de le réparer?
var b = document.createElement('button');
b.setAttribute('content', 'test content');
b.setAttribute('class', 'btn');
b.value = 'test value';
var wrapper = document.getElementById(divWrapper);
wrapper.appendChild(b);
Merci!
Fondamentalement, utilisez innerHTML au lieu de valeur, car le type de "bouton" que vous ajoutez définit sa valeur dans son innerHTML.
JS:
var b = document.createElement('button');
b.setAttribute('content', 'test content');
b.setAttribute('class', 'btn');
b.innerHTML = 'test value';
var wrapper = document.getElementById("divWrapper");
wrapper.appendChild(b);
ressemble à ceci dans le DOM:
<div id="divWrapper">
<button content="test content" class="btn">test value</button>
</div>
La valeur d'un élément bouton n'est pas le texte affiché, contrairement à ce qui arrive aux éléments input
de type bouton.
Tu peux le faire :
b.appendChild(document.createTextNode('test value'));
Créez un nœud de texte et ajoutez-le à l'élément bouton:
var t = document.createTextNode("test content");
b.appendChild(t);
Définissez le texte du bouton en définissant le innerHTML
var b = document.createElement('button');
b.setAttribute('content', 'test content');
b.setAttribute('class', 'btn');
b.innerHTML = 'test value';
var wrapper = document.getElementById('divWrapper');
wrapper.appendChild(b);