我正在尝试使用jQuery创建一个简单的计算器。

我有一个用作显示的段落标签。在按下“ AC”按钮以清除我的显示后,段落标签包含“ 0”。

我想做的是,当我按下带有数字的按钮时,我需要用我所按下的数字代替这个“ 0”,因为现在它变成像“ 07”或“ 05”。

我试过了:

    $('#7').on('click', function() {
     if ($('#mainline') == '0')) {
       $('#mainline').remove('0');
    }
     $('#mainline').append('7');
    })


但是我想我做错了什么。我应该如何检查#mainline是否为'0'?

最佳答案

如果#mainline是DIV,请获取其文本,然后使用正则表达式删除前导零,然后附加7

$('#7').click(function() {
  $("#mainline").text(function(i, oldtext) {
    return oldtext.replace(/^0+/, '') + '7';
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mainline">0</div>
<button id="7">7</button>

如果是输入,请使用.val()而不是.text()

09-16 16:50