2012-02-18 20 views
1

jqueryを使用してカレンダーアプリケーションを作成しようとしています。 私は、日付ごとにcolを持つテーブルを使用しています。Jquery、要素にクラスを追加する

<td>17</td> 

今日の日付にクラスを追加したいと思います。しかし、jqueryとはあまり良くありません。これをどうすれば解決できますか?

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('td').load(function(){ 
      var today = new Date(); 
      if($(this).innerText()== today.getDay(){ 
       this.addClass("today") 
      } 
     }) 
    }); 
</script> 
+0

これらはランダムな推測ですか? –

答えて

3

私はあなたが​​が必要と思わないです。 $(document).ready()は必要な作業を行う必要があります。 日付も解析する必要があります。これを試してみてください:

私はOPのポストに <td> Sに実際にあるデータを見た後に編集
$(document).ready(function(){ 
    $("td").each(function(){ 
     if($(this).text().trim() == new Date().getDate()){ 
      $(this).addClass("today"); 
     } 
    }); 
}); 

+0

@ jfriend00私は最初これが間違っていました。あなたは月の日ではなく、​​に日付があると仮定していました。 – IanW

+0

@atbyrd Doh、間違ったユーザー名です。 :p – IanW

+0

今日は今日の日、つまり18日のみです。 –

1

クラスを追加するには、addClass()として、このようなjQueryオブジェクトを使用する必要がjQueryの方法ではなく、DOMメソッドである:

$(this).addClass("today"); 

また、このコード行と思わ

if($(this).innerText()== today.getDay() 

まず、行の最後に閉じ括弧がありません。次に、getDay()は曜日の整数を0から6まで返します。それは実際にあなたがinnerText()と比較しようとしていることですか?