Javascript 如何检查第一个数字是否为';0';在使用jQuery的字符串中?

Javascript 如何检查第一个数字是否为';0';在使用jQuery的字符串中?,javascript,jquery,Javascript,Jquery,我正在尝试使用jQuery创建一个简单的计算器 我使用了一个段落标记作为显示。按下清除我的显示的“AC”按钮后,段落标记包含“0” 我想做的是,当我按下一个带有数字的按钮时,我需要将这个“0”替换为我按下的数字,因为现在它看起来像“07”或“05” 我试过: $('#7').on('click', function() { if ($('#mainline') == '0')) { $('#mainline').remove('0'); } $(

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

我使用了一个段落标记作为显示。按下清除我的显示的“AC”按钮后,段落标记包含“0”

我想做的是,当我按下一个带有数字的按钮时,我需要将这个“0”替换为我按下的数字,因为现在它看起来像“07”或“05”

我试过:

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

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

也许您可以尝试获取值
$('#mainline').text()
然后
parseInt()
parseFloat()
如果
$('#mainline').text().indexOf('.')>-1


parseInt()
parseFloat()
将自动删除字符串头上多余的零。

也许您可以尝试获取值
$('.'mainline')。text()
然后
parseInt()
parseFloat()
如果
$('.'mainline')。text().indexOf('.')>-1

parseInt()
parseFloat()
将自动删除字符串头部多余的零。

如果
#mainline
是一个DIV,获取其文本,然后用regexp删除前导零,然后追加
7

$('#7')。单击(函数(){
$(“#主线”).text(函数(i,oldtext){
返回旧文本。替换(/^0+/,'')+'7';
});
});

0
7
如果
#mainline
是一个DIV,获取它的文本,然后用regexp删除前导零,然后追加
7

$('#7')。单击(函数(){
$(“#主线”).text(函数(i,oldtext){
返回旧文本。替换(/^0+/,'')+'7';
});
});

0

7
使用regexp是一种好方法,但如果您不了解regexp,可以尝试以下方法:

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

如果“#mainline”是输入文本区域,请使用“val()”而不是“text()

使用regexp是一种好方法,但如果您不了解regexp,可以尝试以下方法:

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

如果“#主线”是输入文本区域,请使用“val()”而不是“text()

。这个问题与jquery无关。您需要使用
.text()
.val()
来获取
#mainline
的内容,这取决于它是DIV还是输入。然后使用
[0]
获取第一个字符。。这个问题与jquery无关。您需要使用
.text()
.val()
来获取
#mainline
的内容,这取决于它是DIV还是输入。然后使用
[0]
获取第一个字符。感谢您的回复!我试过这段代码,它说‘TypeError:oldtext.replace不是函数’,我总是忘记函数在旧值之前有一个索引参数。修正了。谢谢你的回复!我试过这段代码,它说‘TypeError:oldtext.replace不是函数’,我总是忘记函数在旧值之前有一个索引参数。修好了。