![](/img/trans.png)
[英]How can I run an if statement on a PHP GET variable using JavaScript?
[英]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.