簡體   English   中英

如何使用JavaScript在if語句中將變量與數字進行比較?

[英]How can I compare a variable to a number in an if statement using 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,但是沒有用。 像上面的示例一樣,我嘗試通過js將其設置為2,但是它也不起作用。 我已經搜索了類似這樣的其他線程,並嘗試在if語句和創建variabel時都使用.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); 您還可以使用相同的.html()函數但不帶參數來訪問它。

如果將antkeepere變量與2進行比較, antkeepere需要對其進行解析,以便將其轉換為數字,因為.html返回一個字符串。 所以這就是為什么您需要這樣做if(parseInt(antkeepere) == 2)

如果您要比較字符串,則不需要parseInt您可以像這樣if(antkeepere == 'aaab')

首先,您不是要檢索#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!')
    };
});

嘗試下面的代碼

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM