J'ai essayé cela mais en montrant "non défini".
function test() {
var t = document.getElementById('superman').value;
alert(t); }
Existe-t-il un moyen d'obtenir la valeur en utilisant du Javascript simple?
Vous voudrez probablement essayer textContent
au lieu de innerHTML
.
innerHTML
étant donné retournera le contenu du DOM en tant que String
et pas exclusivement le "texte" dans div
. C'est bien si vous savez que votre div
ne contient que du texte, mais ne convient pas à tous les cas d'utilisation. Pour ces cas, vous devrez probablement utiliser textContent
au lieu de innerHTML
Par exemple, en considérant le balisage suivant:
<div id="test">
Some <span class="foo">sample</span> text.
</div>
Vous obtiendrez le résultat suivant:
var node = document.getElementById('test'),
htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."
textContent = node.textContent;
// textContent = "Some sample text."
Voir MDN pour plus de détails:
textContent
n'étant pas pris en charge dans IE8 et les versions antérieures, voici une solution de contournement:
var node = document.getElementById('test'),
var text = node.textContent || node.innerText;
alert(text);
innerText
fonctionne dans IE.
Vous pouvez utiliser innerHTML
(puis analyser le texte à partir de HTML) ou utiliser innerText
.
let textContentWithHTMLTags = document.querySelector('div').innerHTML;
let textContent = document.querySelector('div').innerText;
console.log(textContentWithHTMLTags, textContent);
innerHTML
et innerText
sont pris en charge par tous les navigateurs (sauf FireFox <44), y compris IE6 .