Как сделать текст внутри абзаца с помощью JavaScript

Я пытаюсь получить текст внутри тега Р

 <p id="paragraph">Some text</p>

и я хочу сохранить текст в переменной JavaScript, как это

 var text = "Some text";

Я прочитал, что я должен добавить

 var text = document.getElementById("paragraph").innerHtml;

но значение переменной равно NULL или Undefined, и мне также понравилось это

 var text = document.getElementById("paragraph")[0].innerHtml;

и у меня была такая же проблема !

3 ответов


вы используете неправильное имя свойства должно быть innerHTML(Примечание - чувствительность к регистру HTML не Html) не innerHtml

var text = document.getElementById("paragraph").innerHTML
                                                     ^^^^

var text = document.getElementById("paragraph").innerHTML;

вы, вероятно, должны использовать .textContent чтобы получить текст, чтобы убедиться, что вы не получите дополнительную разметку в переменной текст.

var paragraph = document.getElementById("paragraph");
var text = paragraph.textContent ? paragraph.textContent : paragraph.innerText;//IE uses innerText

innerHTML возвращает HTML, как указывает его имя. Довольно часто для извлечения или записи текста внутри элемента люди используют innerHTML. вместо этого следует использовать textContent. Поскольку текст не анализируется как HTML, он, вероятно, будет иметь лучшую производительность. Кроме того, это позволяет избежать атаки XSS вектор.

https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent