簡體   English   中英

使用 textcontent 使用 javascript 將跨度更改為文本

[英]changing span to text with javascript using textcontent

我在 p 標簽中創建了一個空跨度,它應該在單擊按鈕時更改和顯示文本(按鈕 id="clickme")。 這是我嘗試過的(評論顯示其他嘗試):

function writeNewMessage() {
   var newMessage = "hello";
   document.getElementById("spanMessage").innerHTML = newMessage;

   //document.getElementById("spanMessage").textContent="You have now finished Task 1";
   //var newMessage = document.getElementById("spanMessage");
   //newMessage.textContent = "You have now finished Task 1";
}
function init() {
   var clickMe = document.getElementById("clickme");
   clickMe.onclick = promptName, writeNewMessage;  
}
<!DOCTYPE html> 
<html lang="en">
   <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <!--js--> <script src="io.js"></script> 
      <title>Click me</title>
   </head>
   <body>
      <h1>Input and Output using Javascript</h1>
      <p id="message">This is some text in a paragraph</p>
      <p><span id="spanMessage"></span></p>
      <p><button type="button" id="clickme">Click me!</button></p>
   </body>
</html>

您需要實際調用init function 來注冊事件處理程序

 function writeNewMessage() { var newMessage = "hello"; document.getElementById("spanMessage").innerHTML = newMessage; } function init() { document.getElementById("clickme").addEventListener('click',writeNewMessage) } init();
 <h1>Input and Output using Javascript</h1> <p id="message">This is some text in a paragraph</p> <p><span id="spanMessage"></span></p> <p><button id='clickme' type="button">Click me!</button></p>

您需要調用init function 並且可以使用textContent設置文本。

 const button = document.querySelector("#clickme"); const spanMessage = document.querySelector("span#spanMessage"); function init() { button.addEventListener("click", e => { var newMessage = "hello"; spanMessage.textContent = newMessage; }); } init();
 <h1>Input and Output using Javascript</h1> <p id="message">This is some text in a paragraph</p> <p><span id="spanMessage"></span></p> <p><button type="button" id="clickme">Click me!</button></p>

您可以將 onclick() function 添加到按鈕。

 function writeNewMessage() { var newMessage = "hello message text"; document.getElementById("spanMessage").innerHTML = newMessage; }
 <,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width. initial-scale=1.0"> <!--js--> <script src="io.js"></script> <title>Click me</title> </head> <body> <h1>Input and Output using Javascript</h1> <p id="message">This is some text in a paragraph</p> <p><span id="spanMessage"></span></p> <p><button type="button" id="clickme" onclick="writeNewMessage()">Click me!</button></p> </body> </html>

您必須避免過度使用var關鍵字以避免填充全局命名空間。 您應該使用const並將它們封裝在 function 中。 如果您願意,可以使用 Event Bus 系統:

// Event Bus Architecture
window.addEventListener('click', EventBus.bind(this));

function EventBus(event) {
    event.path[0].id === "clickme" ? Register() : null;
}

function Register() {
    const span = document.getElementById("spanMessage")
    span.innerHTML = "Hello World";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM