如何使用JavaScript将变量与if语句中的数字进行比较?

时间:2014-09-23 07:49:45

标签: javascript

我试图创建一个if语句来检查变量是否为2.但每次尝试时,我都会得到else语句。 这是我的Javascript:

$(document).ready(function() {
    $('#test').html(2);
    var antkeepere = document.getElementById('test');

    if(antkeepere==2){
        $('#mer').html('Ja!')
    } 
    else{
        $('#mer').html('Nei!')
    };
});

首先我在我的HTML中写了2,但它没有用。我尝试将其作为示例中的2到js,但它也没有用。我已经搜索过这样的其他线程并试图在if语句和创建变量文件时使用.value,但它们都没有工作。

6 个答案:

答案 0 :(得分:3)

document.getElementById()返回DOM元素,而不是其内容。要获取其HTML内容,您必须使用.innerHTML属性。要将其转换为数字,您应该使用parseInt()

var antkeepere = parseInt(document.getElementById('test').innerHTML, 10);

由于你正在使用jQuery,你可以坚持下去:

var antkeepere = parseInt($("#test").html());

答案 1 :(得分:0)

因为document.getElementById('test');返回一个dom对象。

试试这个

var antkeepere = $("#test").val();

答案 2 :(得分:0)

你在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')

答案 3 :(得分:0)

首先,您没有检索#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!')
    };
});

答案 4 :(得分:0)

尝试以下代码

 //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!')
    };
});

答案 5 :(得分:0)

上面的大多数答案都非常好,但是看到你已经加载了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!')
    };
});