我试图想象如何将文本添加到已经有文本节点的ap标签或h1标签.
例如:
var t = document.getElementById("p").textContent;
var y = document.createTextNode("This just got added");
t.appendChild(y);Run Code Online (Sandbox Code Playgroud)
<p id="p">This is some text</p>Run Code Online (Sandbox Code Playgroud)
此代码给出错误appendChild不是函数.大多数帮助页面首先创建ap标签,然后附加文本.
将文本添加到现有文本元素的正确方法是什么?
PS:我之前使用过innerHTML,但出于学习目的,我想在这里避免使用它.
Jam*_*ger 39
其原因appendChild是没有一个功能是因为你执行它在textContent你的p元素.
您只需要选择段落本身,然后将新文本节点追加到:
var paragraph = document.getElementById("p");
var text = document.createTextNode("This just got added");
paragraph.appendChild(text);Run Code Online (Sandbox Code Playgroud)
<p id="p">This is some text</p>Run Code Online (Sandbox Code Playgroud)
但是,如果您愿意,可以只修改文本本身(而不是添加新节点):
var paragraph = document.getElementById("p");
paragraph.textContent += "This just got added";Run Code Online (Sandbox Code Playgroud)
<p id="p">This is some text</p>Run Code Online (Sandbox Code Playgroud)
Dee*_*eep 14
你可以做的不是追加元素.
document.getElementById("p").textContent += " this has just been added";
Run Code Online (Sandbox Code Playgroud)
document.getElementById("p").textContent += " this has just been added";Run Code Online (Sandbox Code Playgroud)
<p id ="p">This is some text</p>Run Code Online (Sandbox Code Playgroud)
该方法.appendChild()用于添加新元素而不是向现有元素添加文本。
例子:
var p = document.createElement("p");
document.body.appendChild(p);
Run Code Online (Sandbox Code Playgroud)
标准方法是使用.innerHTML(). 但如果您想要替代解决方案,您可以尝试使用element.textContent.
例子:
document.getElementById("foo").textContent = "This is som text";
Run Code Online (Sandbox Code Playgroud)
然而这仅在 IE 9+ 中受支持
小智 5
那这个呢。
var p = document.getElementById("p")
p.innerText = p.innerText+" And this is addon."Run Code Online (Sandbox Code Playgroud)
<p id ="p">This is some text</p>Run Code Online (Sandbox Code Playgroud)