提问者:小点点

在Javascript中创建文本并单击更改文本


null

document.getElementById("p").textContent += "You are now connected;"


function myFunction() {
   document.getElementById("p").textContent.replace("You are now connected;", "You are disconnected");
}
<p id ="p"></p>

<button onclick="myFunction()">out</button>

null

我使用Javascript创建了一些文本,现在我想在按下按钮后更改文本的内容,但是我遇到了困难。


共3个答案

匿名用户

它不起作用,因为replace不修改原始值,而是返回结果。 您可以通过将Element.TextContent分配给Replace的结果来修复代码。

function myFunction() {
   const element = document.getElementById("p")
   element.textContent = element.textContent.replace("You are now connected;", "You are disconnected");
}

但是在本例中,使用replace而不是仅仅分配新值是没有意义的。

function myFunction() {
   const element = document.getElementById("p")
   element.textContent = "You are disconnected";
}

匿名用户

string.replace()不执行“就地”操作,而是返回字符串。 将TextContent设置为操作的结果:

null

document.getElementById("p").textContent += "You are now connected;"


function myFunction() {
   document.getElementById("p").textContent = document.getElementById("p").textContent.replace("You are now connected;", "You are disconnected");
}
<p id ="p"></p>

<button onclick="myFunction()">out</button>

匿名用户

replace创建一个新字符串,但您没有将它分配给您的元素。 你需要分配它。

null

document.getElementById("p").textContent += "You are now connected;"


function myFunction() {
  let p = document.getElementById("p");  
  p.textContent = p.textContent.replace("You are now connected;", "You are disconnected");
}
<p id ="p"></p>

<button onclick="myFunction()">out</button>