我有一个现在正在运行的脚本,但是我仍然无法控制页面上的其他脚本...(托管的e-com网站访问受限) - 有没有办法完成这个,但用简单的JavaScript?
var $b = jQuery.noConflict(true);
var d = new Date();
var dayOfWeek = d.getUTCDay();
var hour = d.getUTCHours();
var mins = d.getMinutes();
var status = 'open';
if (dayOfWeek !== 6 && dayOfWeek !== 0 && hour >= 12 && hour < 22)
status = 'open';
else
status = 'closed';
if (status=='open')
$b('.orderby').show();
else
$b('.orderby').hide();
答案 0 :(得分:5)
你的代码中只有一小部分jquery
if (status=='open') {
$b('.orderby').show();
}else{
$b('.orderby').hide();
}
这可以转换为
if (status=='open') {
document.querySelector('.orderby').style.visibility = "visible";
}else{
document.querySelector('.orderby').style.visibility = "hidden";
}
答案 1 :(得分:4)
您可以使用:
var elem = document.querySelector(".elementClass");
var disp = (status == 'open') ? 'block' : 'none';
elem.style.display = disp;
答案 2 :(得分:0)
是。您可以使用querySelectorAll
获取元素并循环遍历它们,并添加一个将设置display: none
的类。
var el = document.querySelectorAll(".orderby");
for(var k in el){
el[k].className = el[k].className.replace("hide", "");
}
var el = document.querySelectorAll(".orderby");
for(var k in el){
el[k].className += 'hide';
}
答案 3 :(得分:0)
你可以用这个:
if (status=='open') {
document.getElementsByClassName('orderby')[0].style.display = "block";
}else{
document.getElementsByClassName('orderby')[0].style.display = "none";
}