Я спробував це, але показав "невизначено".
function test() {
var t = document.getElementById('superman').value;
alert(t); }
Чи є спосіб отримати значення за допомогою простого Javascript без jQuery Будь ласка!
Відповіді:
Можливо, ви захочете спробувати textContentзамість innerHTML.
Подано innerHTML, поверне вміст DOM як, Stringа не виключно "текст" у div. Чудово, якщо ви знаєте, що ваш divтекст містить лише текст, але не підходить для кожного випадку використання. У цих випадках вам, ймовірно, доведеться використовувати textContentзамістьinnerHTML
Наприклад, враховуючи таку розмітку:
<div id="test">
Some <span class="foo">sample</span> text.
</div>
Ви отримаєте такий результат:
var node = document.getElementById('test'),
htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."
textContent = node.textContent;
// textContent = "Some sample text."
Докладніше див. У MDN:
innerHTMLне повертає лише текстовий вміст, як того вимагає запитання. Я б реалізував рішення, засноване на .textContentвиявленні функцій із
Ви можете використовувати innerHTML(потім проаналізувати текст з HTML) або використовувати innerText.
let textContentWithHTMLTags = document.querySelector('div').innerHTML;
let textContent = document.querySelector('div').innerText;
console.log(textContentWithHTMLTags, textContent);
innerHTMLі innerTextпідтримується всіма браузерами (крім FireFox <44), включаючи IE6 .
Насправді вам не потрібно викликати document.getElementById()функцію, щоб отримати доступ до вашого div.
Ви можете використовувати це objectбезпосередньо id:
text = test.textContent || test.innerText;
alert(text);
.textContentне підтримується в IE8 і старіших версіях, що ускладнює використання.