2014-09-23 72 views
0

我試圖做一個if語句來檢查變量是否爲2.但每次我嘗試時,我都會得到else語句。 這裏是我的javascript:如何使用JavaScript在if語句中將變量與數字進行比較?

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

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

首先我在HTML中寫道2,但沒有奏效。我試圖通過js來完成它,但是它也不起作用。我已經通過這樣的其他線程進行了搜索,並試圖但在if語句和創建變量時,但都沒有工作。

+0

您正在比較一個DOM對象與一個數字。他們是不同的 – Catalin 2014-09-23 07:53:20

+0

作爲方法建議document.getElementById()給我這個元素的文檔與該id,而不是它的內容。因此,您將元素與2進行比較。獲取內容並比較 – 2014-09-23 07:56:10

回答

3

document.getElementById()返回DOM元素,而不是其內容。要獲取其HTML內容,您必須使用.innerHTML屬性。要將其轉換爲數字,您應該使用parseInt()

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

由於您使用jQuery,您可以與堅持:

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

因爲document.getElementById('test');返回一個DOM對象。

試試這個

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

他說使用Java Script並且您給了他jQuery解決方案 – 2014-09-23 07:54:02

+0

@ShoaibChikate OP也使用jQuery。 – Scimonster 2014-09-23 07:55:21

+0

他使用'$('#test')。html(2);' – worldask 2014-09-23 07:55:21

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

0

首先,你不能檢索的HTML整個元素都是#test。其次,要確保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!') 
    }; 
}); 
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!') 
    }; 
}); 
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!') 
    }; 
}); 
相關問題