这是再次更新的代码我想要星期五的div,而不是星期五出现。我也希望它不会在下午5点之后出现,但我无法通过日常问题。谢谢你的帮助。
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
var rightNow = new Date();
var day = rightNow.getUTCDay();
if (day == 5) {
$('#friday').hide();
}
});
</script>
<style type="text/css">
div {
border:solid black 1px;
background-color:lightblue;
color:darkblue;
font-size:14pt;
font-family:arial;
width:550px;
height:220px;
overflow:auto;
padding:5px;
}
</style>
</head>
<body>
<div id='friday'>
friday
</div>
<br>
<div id='saturday'>
saturday
</div>
<br>
<div id='sunday'>
sunday
</div>
<br>
</body>
</html>
答案 0 :(得分:7)
最有可能的是,在元素是DOM的一部分之前,您遇到了脚本执行的问题。所以,像这样包装你的脚本:
<script type="text/javascript">
$(document).ready(function() {
var rightNow = new Date();
var day = rightNow.getUTCDay();
if (day == 5) {
$('#friday').hide();
}
});
</script>
请注意,我还修复了“day = 5;”误状态。
答案 1 :(得分:3)
您是assigning
而不是comparing
:
if (day = 5;) {
应该是:
if (day === 5) {
如果您不熟悉===
..它与==
相同,除非它是严格的(不执行类型强制)。
您可以阅读有关比较运算符here的更多信息。
修改强>
另请务必阅读John's answer,因为看起来这也会导致您的问题。
答案 2 :(得分:1)
我建议John Fishers回答。
你可以做的唯一一件事就是把它放在一个开关中,假设你想要隐藏每一个项目,而不是只在星期五隐藏,如果它是5
<script type="text/javascript">
$(document).ready(function() {
var rightNow = new Date();
var day = rightNow.getUTCDay();
switch(day)
{
case 0:
//whatever you want to do on 0
break;
case 1:
//whatever you want to do on 1
break;
case 2:
//whatever you want to do on 2
break;
case 3:
//whatever you want to do on 3
break;
case 4:
//whatever you want to do on 4
break;
case 5:
$('#friday').hide();
break;
case 6:
//whatever you want to do on 6
break;
});
</script>
答案 3 :(得分:0)
您刚刚发布的最新代码的唯一问题是您删除了jQuery include(正如John Fisher指出的那样)。放行
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
回来,它会按你的意愿工作。
要处理5点之后的问题,你可以这样做:
$(document).ready(function() {
var rightNow = new Date();
var day = rightNow.getUTCDay();
if (day == 5 || rightNow.getHours() > 17) {
$('#friday').hide();
}
});
Here是javascript日期对象的一个很好的参考。