Javascript函数unhide元素似乎没有调用var
Javascript function unhide element seems not calling out var
试图在我的网站标题上显示一条消息,在那里应该每天根据日期更改。使用下面的脚本,但似乎没有调用变量,因为它没有显示任何东西,我不知道哪一个是错过了这一点。
<script type="function/javascritp">
function unhide(id) {
var element = document.getElementById(id);
element.className = element.className.replace('hidden', '');
}
switch((new Date()).getDay()) {
case 0:
// Sunday
unhide('sun');
break;
case 1:
// Monday
unhide('mon');
break;
case 2:
// Tuesday
unhide('tues');
break;
case 3:
// Wednesday
unhide('wed');
break;
case 4:
// Thursday
unhide('thurs');
break;
case 5:
// Friday
unhide('fri');
break;
case 6:
// Saturday
unhide('sat');
break;
};
</script>
</head>
<body>
<Header>
<div id="sun" class="hidden">Today is Sunday</div>
<div id="mon" class="hidden">Today is Monday</div>
<div id="tues" class="hidden">Today is Tuesday</div>
<div id="wed" class="hidden">Today is Wednesday</div>
<div id="thurs" class="hidden">Today is Thursday</div>
<div id="fri" class="hidden">Today is Friday</div>
<div id="sat" class="hidden">Today is Saturday</div>
</header>
</body>
我用的是css代码,
.hidden {
display: none;
}
必须是.hidden
,而不是hidden
;你忘了添加句号.
,其余的看起来都很好
function unhide(id) {
var element = document.getElementById(id);
element.className = element.className.replace('hidden', '');
}
switch((new Date()).getDay()) {
case 0:
// Sunday
unhide('sun');
break;
case 1:
// Monday
unhide('mon');
break;
case 2:
// Tuesday
unhide('tues');
break;
case 3:
// Wednesday
unhide('wed');
break;
case 4:
// Thursday
unhide('thurs');
break;
case 5:
// Friday
unhide('fri');
break;
case 6:
// Saturday
unhide('sat');
break;
};
.hidden{display:none}
<Header>
<div id="sun" class="hidden">Today is Sunday</div>
<div id="mon" class="hidden">Today is Monday</div>
<div id="tues" class="hidden">Today is Tuesday</div>
<div id="wed" class="hidden">Today is Wednesday</div>
<div id="thurs" class="hidden">Today is Thursday</div>
<div id="fri" class="hidden">Today is Friday</div>
<div id="sat" class="hidden">Today is Saturday</div>
</Header>
对于初学者来说,语法问题:脚本声明type="function/javascritp"
应该是type="text/javascript"
。不确定不同的浏览器如何处理未知的脚本类型,但很可能代码根本不执行。
使用getElementById
时出现'issue'。如果在加载DOM之前使用它,那么所讨论的元素可能不存在,getElementById将返回null。在这个例子中,脚本似乎位于head
部分,在那里它肯定是一个问题。为了防止这种情况,您可以在window.onload
事件中调用unhide函数。(更完整的信息在这里)
在本例中擅自将switch case更改为数组,但原则保持不变:
<script type="text/javascript">
function unhide(id) {
var element = document.getElementById(id);
element.className = element.className.replace('hidden', '');
}
window.onload = function(){
var day = (new Date()).getDay();
var days = ['sun','mon', 'tues', 'wed', 'thurs','fri', 'sat'];
unhide(days[day]);
};
</script>
注意,尽管unhide函数是在unload之前声明的,但它直到在onload事件中使用时才被调用。getElementById也被调用了
这是在您的情况下最容易实现的。
function unhide(id) {
var element = document.getElementById(id);
element.className = element.classList.remove('hidden');
}
相关文章:
- 如何使用var名称调用JSON数据
- 我应该总是将模块调用到var中,还是在节点中立即执行
- 如何在函数内部为jquery工具提示调用不同的var字符串
- 使用onclick和javascript函数,在参数中调用js-var
- JavaScript 面向对象的调用函数内部函数或调用函数 insede var
- React-从呈现函数中的var调用处理程序
- 在 Select 脚本中调用 Knockout 计算 Var 时,如何定义它
- 在照片滑动中调用函数时选择 var
- 当我们尝试使用直接引用调用文档对象方法时,例如:var kk = document.getElementById;kk(
- 带有var名称的javascript getInterval调用
- 在jquery get请求中从for循环调用var i
- 如何使用var名称调用函数
- 函数中声明的var是否在多个函数调用中保持不变
- 在其他脚本中调用javascript var
- 用'编写的自调用函数;var name=“;在前面——糟糕的做法
- 你能从数组中调用一个var,而不是它的值吗
- Jquery从另一个函数调用var
- 调用JavaScript中另一个var对象的var对象
- Javascript函数unhide元素似乎没有调用var
- 如何调用 var 作为回报 ()