这个 JS if Condition 测试有什么问题?
这段代码在没有 if 条件测试的情况下工作正常,我在 if 条件方面哪里出了问题?
$(document).ready(function() {
if ($("input[name=contest_open]").val() == true) {
var refreshId = setInterval(function()
{
$('#tweets').fadeOut("slow").fadeIn("slow");
$.get("/event", { event:$("input[name=event]").val(), }, function(data) {
console.log(data.success);
console.log(data.page_link);
console.log('Succesfully Loaded Data from JSON FORMAT GET');
$('#tweets').html(data.html);
$('#pagelink').html(data.page_link);
});
}, 30000);
}
})
this code works fine without the if condition test, where am I going wrong here with the if condition?
$(document).ready(function() {
if ($("input[name=contest_open]").val() == true) {
var refreshId = setInterval(function()
{
$('#tweets').fadeOut("slow").fadeIn("slow");
$.get("/event", { event:$("input[name=event]").val(), }, function(data) {
console.log(data.success);
console.log(data.page_link);
console.log('Succesfully Loaded Data from JSON FORMAT GET');
$('#tweets').html(data.html);
$('#pagelink').html(data.page_link);
});
}, 30000);
}
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
问题是
val
不返回布尔值。如果您尝试检查input[name=contest_open]
的value
是否不为空,请尝试val() !== ""
反而。如果您尝试检查该值是否为字符串“true”,则需要用引号将
true
括起来。The problem is that
val
does not return a boolean value. If you are trying to check whether thevalue
ofinput[name=contest_open]
is not empty, tryval() !== ""
instead.If you are trying to check whether the value is the string "true", you need to enclose
true
with quotes.val() 将返回一个字符串。
如果您想测试“true”,请使用此选项
val() will return a string.
Use this if you want to test against "true"
如果您想检查是否存在,请
仅使用 : 。
另一方面,如果您打算检查内容为“true”,则可以使用
val() 函数返回一个字符串,原因很简单。
If you want to check for existense, then use :
only.
On the ither hand, if you intend to check the contents reading "true", you can use
For the simple reason that val() function returns a string.
好吧,既然你有
==
,1 或一个对象也将评估为 true。对于===
,只有当它是布尔值 true 时才会评估为 true。Well, since you have
==
, 1 or an object will also evaluate as true. With===
it will only evaluate as true if it is a boolean true.试试这个。如果您认为该值可以包含“True”,那么最好转换为小写。
Try this. If you think the value can contain "True" then its better to convert to lowercase.