2012-05-18 56 views
2

我正在嘗試使用表格中包含的日曆進行操作。基本上,每一天都是一個表格單元格。今天的細胞有一個特殊的類叫... .today(很原始)。選擇從開始到特定的所有表格行

我想要的是,當用戶點擊一天的單元格它發生了一些事情。爲了便於使用,我想在那些日子裏添加一個類,以便鼠標光標變成鏈接樣式。

我一直在盡我所能,但迄今爲止沒有運氣。

因此,舉例來說,這裏是前三週五月今天與名稱的類:

<table class="calendar"> 
    <tbody> 
     <tr class="week0"> 
      <td class="day">30</td> 
      <td class="day">1</td> 
      <td class="day">2</td> 
      <td class="day">3</td> 
      <td class="day">4</td> 
      <td class="day">5</td> 
      <td class="day">6</td>                 
     </tr> 
     <tr class="week1"> 
      <td class="day">7</td> 
      <td class="day">8</td> 
      <td class="day">9</td> 
      <td class="day">10</td> 
      <td class="day">11</td> 
      <td class="day">12</td> 
      <td class="day">13</td>                 
     </tr> 
     <tr class="week2"> 
      <td class="day">14</td> 
      <td class="day">15</td> 
      <td class="day">16</td> 
      <td class="day">17</td> 
      <td class="day">18</td> 
      <td class="day today">19</td> 
      <td class="day">20</td>                 
     </tr>    
    </tbody> 
</table> 

我想選擇30(天)TDS至19

途徑採取:

  • 選擇所有日子,然後嘗試找到today-cell的索引。失敗,因爲jQuery選擇不是一個數組而是一個對象。
  • 使用$.each並使用一次標誌today。這有效,但聽起來真的很糟糕的性能[?]

有沒有我失蹤的方法?

+1

。你能不能請分享一些更多的細節,也許是一個例子。 – Sampson

+0

當然@JonathanSampson,example added –

回答

1

獲取的.today索引所有td元素中,並選擇基礎上認爲:

// Get the index of td.today among all td's 
var tIndex = $(".today").index("td") + 1; 

// Select all td's below (and including) .today 
$("td:lt(" + tIndex + ")").css("background-color", "red");​ 

演示:我有一個很難理解你的問題http://jsfiddle.net/UNXve/

+1

正如我以爲我錯過了一些東西,因爲它很容易。不知道這個功能。謝謝你的幫助。 –

+1

@AntonioLaguna我的榮幸。我每天都在StackOverflow上學習東西 - 很高興看到你在做同樣的事情;) – Sampson

相關問題