我试图创建一个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,但它们都没有工作。
答案 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!')
};
});