如何使用JavaScript将if语句中的变量与数字进行比较
How can I compare a variable to a number in an if statement using JavaScript?
我尝试制作一个if语句来检查变量是否为2。但每次我尝试,我都会得到另一种说法。这是我的Javascript:
$(document).ready(function() {
$('#test').html(2);
var antkeepere = document.getElementById('test');
if(antkeepere==2){
$('#mer').html('Ja!')
}
else{
$('#mer').html('Nei!')
};
});
首先,我在html中写了2,但没有成功。然后,我试着像上面的例子一样,通过js将其设置为2,但也不起作用。我已经搜索过其他类似的线程,并尝试在if语句和创建变量时使用.value,但都不起作用。
document.getElementById()
返回DOM元素,而不是其内容。要获取其HTML内容,必须使用.innerHTML
属性。要将其转换为数字,您应该使用parseInt()
。
var antkeepere = parseInt(document.getElementById('test').innerHTML, 10);
既然你在使用jQuery,你可以坚持使用:
var antkeepere = parseInt($("#test").html());
因为document.getElementById('test');
返回一个dom对象。
试试这个
var antkeepere = $("#test").val();
您在jQuery 中确实喜欢这样
$(document).ready(function() {
$('#test').html(2);
var antkeepere =$('test').html();
if(parseInt(antkeepere) == 2){
$('#mer').html('Ja!')
}
else{
$('#mer').html('Nei!')
};
});
由于您使用.html $('#test').html(2);
放置2,因此您也可以使用相同的函数.html()
访问它,但不需要参数。
如果将antkeepere
变量与2进行比较,则需要对其进行解析,以便将其转换为数字,因为.html
返回一个字符串。所以这就是为什么你需要做这个if(parseInt(antkeepere) == 2)
如果您要比较不需要parseInt
的字符串,您可以简单地进行如下if(antkeepere == 'aaab')
尝试以下代码
//As I understand test is div or span not input type objects. if it is input type element then use val() instead of html()
$(document).ready(function() {
$('#test').html(2);
var antkeepere = document.getElementById('test');
// use can also use parseInt($('#test').html())
if(parseInt(antkeepere.innerHTML)==2){
$('#mer').html('Ja!')
}
else{
$('#mer').html('Nei!')
};
});
上面的大多数答案都很好,但鉴于您已经加载了jQuery,您还可以使用它(您不需要document.getElement…)。
$(document).ready(function() {
$('#test').text(2); // Using text() instead of html() just means you can write stuff like "&", instead of "&"
var antkeepere = parseFloat( $('#test').text() ); // parseFloat ensures the contents of test is converted to a number.
if(antkeepere == 2){
$('#mer').text('Ja!')
}
else{
$('#mer').text('Nei!')
};
});
首先,您检索的不是#test
的html,而是整个元素。其次,为了确保html值是一个值为2的数字,您应该尝试将html值转换为Number
。一个简单的代码调整:
$(document).ready(function() {
$('#test').html(2);
var antkeepere = Number(document.getElementById('test').html());
if(antkeepere === 2){
$('#mer').html('Ja!')
}
else{
$('#mer').html('Nei!')
};
});
- 使用全局变量来存储数字(JavaScript)
- 如何在html中将字符串转换为数字?以及如何将变量传递到scriptlet代码中
- 如何在javascript中一旦变量达到某个数字就对其进行更改
- 通过变量在两个数字之间切换
- 如何将变量而不是文字数字放进去
- 为什么可以对整数变量调用toString(),而不能对文字数字调用
- 增加DIV数字变量的按钮
- 每次使用 Javascript 加载页面时增加一个数字(变量)的简单方法
- 需要将变量设置为特定的数字范围
- 在一个很明显是数字的变量上获取NaN
- javascript变量数字大于数字乘以多少
- JScalc.io计算器基本故障(输出变量为空,不返回数字)
- 在标记的php变量数字中添加逗号
- .size的变量获胜't显示正确的数字
- 如何用变量定义一个数组,然后用一个数字填充每个数组
- 添加两个数字变量将返回 NaN
- Javascript数字变量比较不起作用
- 使用变量和数字的操作
- 如何查找和替换包含数字的名称并将该数字存储在变量中
- 包含动态数字的变量