Próbowałem tego, ale pokazano "niezdefiniowany".W jaki sposób uzyskać tekst znacznika div za pomocą tylko javascript (bez jQuery)?
Czy istnieje sposób na uzyskanie wartości za pomocą prostego kodu JavaScript bez jQuery Proszę!
Próbowałem tego, ale pokazano "niezdefiniowany".W jaki sposób uzyskać tekst znacznika div za pomocą tylko javascript (bez jQuery)?
Czy istnieje sposób na uzyskanie wartości za pomocą prostego kodu JavaScript bez jQuery Proszę!
Prawdopodobnie będziesz chciał wypróbować textContent
zamiast innerHTML
.
Otrzymana innerHTML
zwróci treść DOM jako String
, a nie wyłącznie "tekst" w div
. W porządku, jeśli wiesz, że twój div
zawiera tylko tekst, ale nie nadaje się, jeśli każdy przypadek użycia. Dla tych przypadków, prawdopodobnie będziesz musiał użyć textContent
zamiast innerHTML
Na przykład, biorąc pod uwagę następujące znaczniki:
<div id="test">
Some <span class="foo">sample</span> text.
</div>
dostaniesz następujący wynik:
var node = document.getElementById('test'),
htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."
textContent = node.textContent;
// textContent = "Some sample text."
Zobacz MDN, aby uzyskać więcej informacji:
Ponieważ textContent
nie jest obsługiwana w IE8 i starsze, tutaj jest obejście:
var node = document.getElementById('test'),
var text = node.textContent || node.innerText;
alert(text);
innerText
działa w IE.
'.textContent' nie jest obsługiwane w IE8 i niżej, co sprawia, że jest nieco trudny w użyciu. – Blender
Prawda. Indead, 'innerHTML' nie zwraca tylko treści tekstowej zgodnie z żądaniem w pytaniu. Zaimplementowałem rozwiązanie oparte na wykrywaniu funkcji '.textContent' z awarią dla
dhar
Chociaż starsze pytanie, _.textContent_ jest bardziej odpowiednią odpowiedzią na dzisiejszy świat. – Donovan