Javascript 使用单击事件重新写入字符串

Javascript 使用单击事件重新写入字符串,javascript,Javascript,我试图编程一个click函数,如果某个条件为真,每次单击按钮时,它都会覆盖当前字符串并用新字符串替换它 我在下面创建了一个简单的示例来说明我要实现的目标 $(文档).ready(函数(){ const hello=document.getElementById(“hi”); 常数按钮= 文件.getElementById(“替换”); let=false; 让我们再见=函数(){ 单击=真; if(hello.innerHTML.length{ const hello=document.get

我试图编程一个click函数,如果某个条件为真,每次单击按钮时,它都会覆盖当前字符串并用新字符串替换它

我在下面创建了一个简单的示例来说明我要实现的目标

$(文档).ready(函数(){
const hello=document.getElementById(“hi”);
常数按钮=
文件.getElementById(“替换”);
let=false;
让我们再见=函数(){
单击=真;
if(hello.innerHTML.length<9){
如果(单击){
//我想先清除当前的HTML,然后每次单击按钮时,我都会使用新的HTML添加一个9。
hello.innerHTML+=“9”;
}
}
}
按钮。addEventListener(“单击”,再见);
});

01234567

单击我
我删除了您的jQuery,因为它不需要。我相信这就是你要找的

步骤:

  • 获取对元素的引用(
    hello
    按钮
  • 将事件侦听器绑定到您的按钮单击
  • 单击按钮时,获取
    hello
    元素的当前值
  • 运行逻辑(
    if语句
    )并执行所需操作
  • (()=>{
    const hello=document.getElementById(“hi”);
    const button=document.getElementById(“替换”);
    addEventListener('单击',(evt)=>{
    const helloText=hello.innerHTML;
    如果(helloText.length>9){
    hello.innerHTML='9';
    }否则{
    hello.innerHTML+=helloText.length;
    }
    });
    })();
    
    01234567
    
    单击“我”
    Javascript中缺少一些括号。您的Javascript是从外部.js文件导入的还是内联的,如果是这样,它是否包装在
    标记中?这只会添加
    9
    一次。在那之后,
    length<9
    测试将失败。我正在用代码笔写这一切,我忘记粘贴document.ready函数的右括号,但它们在我的代码中。那么
    let bye=function(){…}
    的右括号呢?函数中有
    addEventListener
    调用。感谢您的响应,您可以获得我想要的效果,但条件不正确。您知道当您在按下数学运算符(例如加号)后按下数字按钮时,计算器上的显示是如何重置的吗?这就是我要寻找的效果…长度不应该超过一定量,否则它会溢出我的显示元素。如果这有帮助,请向上投票。我想你是想让我解决你的问题/为你写代码,而不是给你方向。这不是软件的范围。jQuery需要确保代码在文档准备就绪时运行。您可以将其替换为
    DOMContentLoaded
    的等效事件侦听器。