如何使用JavaScript获取段落内的文本

Mar*_*xtn 12 html javascript dom

我想把文本放在p标签里面

 <p id="paragraph">Some text</p>
Run Code Online (Sandbox Code Playgroud)

我想将文本存储在这样的JavaScript变量中

 var text = "Some text";
Run Code Online (Sandbox Code Playgroud)

我读到我必须添加

 var text = document.getElementById("paragraph").innerHtml;
Run Code Online (Sandbox Code Playgroud)

但是变量的值是NULL或Undefined,我也喜欢这样

 var text = document.getElementById("paragraph")[0].innerHtml;
Run Code Online (Sandbox Code Playgroud)

我有同样的问题!

Ale*_* T. 18

在您的示例中,您使用的属性名称不正确,必须是innerHTML(注意 - HTML不区分大小写Html)innerHtml

var text = document.getElementById("paragraph").innerHTML
                                                     ^^^^
Run Code Online (Sandbox Code Playgroud)


Tra*_*s J 5

您可能应该使用.textContent获取文本以确保您的文本变量中没有额外的标记.

var paragraph = document.getElementById("paragraph");
var text = paragraph.textContent ? paragraph.textContent : paragraph.innerText;//IE uses innerText
Run Code Online (Sandbox Code Playgroud)

innerHTML返回HTML,如其名称所示.通常,为了在元素中检索或写入文本,人们使用innerHTML.应该使用textContent.由于文本未被解析为HTML,因此可能会有更好的性能.而且,这避免了XSS攻击向量.

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