代码之家  ›  专栏  ›  技术社区  ›  user3108268

单击时增加div中的数字

  •  0
  • user3108268  · 技术社区  · 4 年前

    我有这个解决方案 <form> <input> 元素。

    function incrementValue()
    {
        var value = parseInt(document.getElementById('number').value, 10);
        value = isNaN(value) ? 0 : value;
        value++;
        document.getElementById('number').value = value;
    }
    <form>
       <input type="text" id="number" value="0"/>
       <input type="button" onclick="incrementValue()" value="Increment Value" />
    </form>

    但我如何通过点击一个 <a></a> 按钮和 <div></div> ?

    2 回复  |  直到 4 年前
        1
  •  1
  •   luek baja    4 年前

    你是说像这样吗?

    const a = document.getElementById("a"),
      div = document.getElementById("div");
      
    a.addEventListener("click", event => {
      //this is just to prevent redirects when you click the link
      event.preventDefault();
      
      //gets the number in div
      const num = parseInt(div.innerHTML);
      
      //increments the number
      div.innerHTML = num + 1;
    });
    <a id="a" href="">Anchor Tag</a>
    <div id="div">0</div>
        2
  •  1
  •   buzatto    4 年前

    我建议使用 button 而不是 anchor 作为一个html标记,它更有意义。你会操纵财产 innerText 为此:

    function incrementValue()
    {
        var value = parseInt(document.getElementById('number').innerText, 10);
        value = isNaN(value) ? 0 : value;
        value++;
        document.getElementById('number').innerText = value;
    }
    <div id="number"/>0</div>
    <button onclick="incrementValue()" />Increment Value</button>