我正在尝试将文本放入p标签
<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;
我遇到了同样的问题!
答案 0 :(得分:18)
在您的示例中,您使用的属性名称不正确,必须为innerHTML
( 注意 - 区分大小写HTML
而不是{{ 1}} )不是Html
innerHtml
答案 1 :(得分:5)
您应该使用.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
答案 2 :(得分:4)
var text = document.getElementById("paragraph").innerHTML;