2014-08-31 51 views
0

好吧,我基本上试图使用getDay()和addClass()来显示和隐藏内容。getDay()jQuery addClass

目前它似乎不适合我。

我真的很喜欢它隐藏和取消隐藏取决于一天。

在此先感谢!

这里是我的代码:

<div class="sundayRadio"> 
       <div class="vertDiv"></div> 
       <section class="schedule on_now"> 
        <p>20:00 NEWS - DJ RANDOM</p> 
        <p>Description.</p> 
       </section> 

function applyclass() 
{ 
var d = new Date(); 
var n = d.getDay(); 
if (n = 0) 
// If day is Sunday 
$('sundayRadio').addClass('show'); 
    $('mondayRadio').addClass('Dshow'); 
    $('tuesdayRadio').addClass('Dshow'); 
    $('wednesdayRadio').addClass('Dshow'); 
    $('thursdayRadio').addClass('Dshow'); 
    $('fridayRadio').addClass('Dshow'); 
    $('saturdayRadio').addClass('Dshow'); 
else if (n = 1) 
// If day is Monday 
$('sundayRadio').addClass('Dshow'); 
    $('mondayRadio').addClass('show'); 
    $('tuesdayRadio').addClass('Dshow'); 
    $('wednesdayRadio').addClass('Dshow'); 
    $('thursdayRadio').addClass('Dshow'); 
    $('fridayRadio').addClass('Dshow'); 
    $('saturdayRadio').addClass('Dshow'); 


else 
//// Else please reload 
$('reloadWarn').addClass('show'); 
    $('sundayRadio').addClass('Dshow'); 
    $('mondayRadio').addClass('Dshow'); 
    $('tuesdayRadio').addClass('Dshow'); 
    $('wednesdayRadio').addClass('Dshow'); 
    $('thursdayRadio').addClass('Dshow'); 
    $('fridayRadio').addClass('Dshow'); 
    $('saturdayRadio').addClass('Dshow'); 
} 
window.onload = applyclass; 

.show { display: block !important; } 
.Dshow { display: none !important; } 
+1

你错过了“。”所有类名的操作符。也就是说,它应该是'$('.sundayRadio')'。显然你的代码将会非常简单,如果你给这些元素一个普通的类名称以及它们的标识类名称。 – Pointy 2014-08-31 12:18:43

+2

你的大括号在哪里? – 2014-08-31 12:21:34

+0

更新仍然不工作: 如果(n == 0){ //如果一天是.sunday $('。sundayRadio')。addClass('。show'); $('。mondayRadio')。addClass('。Dshow'); $('。tuesdayRadio')。addClass('。Dshow'); $('。wednesdayRadio')。addClass('。Dshow'); ('。thursdayRadio')。addClass('。Dshow'); $('。fridayRadio')。addClass('。Dshow'); $('。saturdayRadio')。addClass('。Dshow'); } – 2014-08-31 12:50:16

回答

2

我得到了下面的代码中的问题。

1)您使用选择像

$('mondayRadio').addClass('show'); 

使用.获得类选择像波纹管

$('.mondayRadio').addClass('show'); 

2)你要分配

不是在比较中 if

if (n == 0) 

代替

if (n = 0) 

我想比较像波纹管来避免这个问题。

if (0 == n) 

3)您没有使用{}正常到if提供块。

说喜欢

if(n==0){ 
//All your code 
} 
else if(n==1){ 
    //code 
} 
else{ 
    //code 
} 

DEMO

1

你缺少你的类的选择点:

错误:

$('sundayRadio') 

正确:

$('.sundayRadio') 

,你是不是比较在if子句:

错误:

if (n = 0) 

正确:

if (n === 0) 
1

哪里是你的大括号?

  • 的JavaScript,空白意味着小
  • 没有大括号,解释尽快

例如结束的块,

if (false) 
    console.log('1'); 
    console.log('2'); 

"2"将总是登录到控制台

你需要

if (false) { 
    console.log('1'); 
    console.log('2'); 
} 

您预期的行为


此外,你的代码,因为它是几乎肯定是扔SyntaxError: Unexpected token else由于这一点,所以在调试

时,它可能是要检查您的控制台有用

最后,正如别人指出的那样,n = 1是一项任务,不是比较,而是总是1; // truthy - 您可能想要使用===,类选择器以.开头,就像CSS(语法相同)。

+0

感谢您的回复! 更新了我的代码: if(n == 0){ //如果一天是.sunday $('.sundayRadio').addClass('。show'); $('。mondayRadio')。addClass('。Dshow'); $('。tuesdayRadio')。addClass('。Dshow'); $('。wednesdayRadio')。addClass('。Dshow'); ('。thursdayRadio')。addClass('。Dshow'); $('。fridayRadio')。addClass('。Dshow'); $('。saturdayRadio')。addClass('。Dshow'); } 仍然无法正常工作 – 2014-08-31 12:47:09