Vraag Hoe kan de tekst van een div-tag worden opgehaald met alleen javascript (geen jQuery)


Ik probeerde dit maar liet "undefined" zien.

function test() {
var t = document.getElementById('superman').value;
alert(t); }

Is er een manier om de waarde te krijgen met behulp van eenvoudige Javascript geen jQuery alstublieft!


59
2018-04-29 06:28


oorsprong


antwoorden:


Je wilt het waarschijnlijk proberen textContent in plaats van innerHTML.

Gegeven innerHTML zal DOM-content als een String en niet uitsluitend de "tekst" in de div. Het is prima als je dat weet div bevat alleen tekst maar niet geschikt voor elke use case. Voor die gevallen moet je waarschijnlijk gebruiken textContent in plaats van innerHTML

Bijvoorbeeld, rekening houdend met de volgende markup:

<div id="test">
  Some <span class="foo">sample</span> text.
</div>

U krijgt het volgende resultaat:

var node = document.getElementById('test'),

htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."

textContent = node.textContent;
// textContent = "Some sample text."

Zie MDN voor meer details:


117
2018-04-29 11:30



Omdat textContent wordt niet ondersteund in IE8 en ouder, hier is een oplossing:

var node = document.getElementById('test'),
var text  = node.textContent || node.innerText;
alert(text);

innerText werkt in IE.


4
2017-11-09 15:51