如標題所述,我在 ejs 部分的 scriplet 標記中有這個變數“i”:
<span class="UTXOindex"><% var i = 0 %></span>
<div class="test"></div>
我在同一個檔案中的 JS 腳本部分有以下內容,希望能夠增加上述變數:
<script>
document.getElementById("nextButton").addEventListener("click", e => {
e.preventDefault()
document.querySelector(".test").insertAdjacentHTML(
"afterbegin",
`
<p>The number was <%= i %></p>
<% i %>
<p>The number is now <%= i %></p>
`
)
})
</script>
我正在嘗試從 JS 腳本部分更新 ejs 部分中的變數“i”,但在多次觸發事件偵聽器后它似乎沒有更新。多次觸發 .addEventListener 如下所示:
The number was 0
The number is now 1
The number was 0
The number is now 1
The number was 0
The number is now 1
我希望得到以下輸出:
The number was 0
The number is now 1
The number was 1
The number is now 2
The number was 2
The number is now 3
等等……
有什么建議?以及如何永久更新 EJS 腳本標簽中的變數?
uj5u.com熱心網友回復:
您可以使用HTML 資料屬性。
document.getElementById("nextButton").addEventListener("click", e => {
e.preventDefault()
var i = Number(document.getElementById("increment").getAttribute("data-increment"))
document.querySelector(".test").insertAdjacentHTML(
"afterbegin",
`
<p>The number was ${i}</p>
<p>The number is now ${i 1}</p>
`
)
document.getElementById("increment").setAttribute("data-increment", i 1);
})
<button id="nextButton">Click</button>
<span class="UTXOindex" data-increment="0" id="increment"></span>
<div class="test"></div>
您還可以像這樣分配值:
<span class="UTXOindex" data-increment="<%= anyValue %>" id="increment"></span>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/449976.html
標籤:javascript 变量 ejs 添加事件监听器 小脚本
上一篇:從用戶輸入生成亂數
