2015-10-21 66 views
0

我試圖從HAML數據庫打印記錄,並相對於它們的指數.scss標籤,像這樣他們的風格索引:元素有兩次在第n個孩子,他們應該

- i = 0 
    - @records.each do |record| 
     - i += 1 

     :scss 
      .win:nth-child(#{i}) { 
       background-color: #{record.background} 

       p { 
        color: #{record.font_color} 
       } 
      } 

     .win 
      %p This is styled entry 

很奇怪發生在只有前半部分的記錄是按照時間順序排列的情況。

我意識到它跳過每一個第一次迭代,因爲沒有一個.win元素有一個奇數的索引,他們的索引都是2的倍數。

我覺得有兩倍多的.win元素應該是,但沒有。每個記錄都有一個像你期望的一樣。

我不知道發生了什麼,但我會在黑暗中拍攝一下,並說當HAML解析文件時,它識別scss標籤中的「.win」,並將其識別爲.win元素。

+1

嘗試'nth-of-type'而不是 – sideroxylon

+0

這有效。你發佈評論而不是答案的任何原因? – JackHasaKeyboard

+0

相關:http://stackoverflow.com/questions/9313769/nth-of-type-vs-nth-child – cimmanon

回答

-1

如果只計算一個類的元素,則使用nth-of-typenth-child統計父級的所有元素,然後在您選擇的選擇器位於第n個位置之一時觸發。

+1

:nth類型沒有這樣的事情。第n類家庭選擇器僅選擇特定元素的元素(例如,p,div等)。你正在尋找的是一個不存在的第十一課。 – cimmanon