2009-07-23 79 views
5

,我有以下的jQuery代碼:jQuery的:添加一個類,甚至奇數列表的元素

<script type="text/javascript"> 
    $(document).ready(function() { 
     $ ('ul.image-list li:even').addClass ('even'); 
     $ ('ul.image-list li:odd').addClass ('odd'); 
    }); 
</script> 

和下面的HTML:

<ul class="image-list"> 
<li>first element</li> 
<li>second element</li> 
... 
<li>last element</li> 
</ul> 

但是jQuery的似乎並不被因爲li標籤沒有得到適當的類(偶數或奇數)。我究竟做錯了什麼?感謝

+0

看起來好像沒什麼問題(和作品)。讓我們來看看你的CSS。 – ScottE 2009-07-23 11:41:02

+0

適用於我。 – 2009-07-23 11:41:40

回答

10

這對我來說工作得很好。你爲什麼認爲它不能在你的代碼中工作?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
    <title></title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $ ('ul.image-list li:even').addClass('even'); 
      $ ('ul.image-list li:odd').addClass('odd'); 
     }); 
    </script> 
    <style> 
     .even{ 
      background: gray; 
     } 
     .odd{ 
      color:red; 
     } 
    </style> 
</head> 
<body> 

<ul class="image-list"> 
    <li>first element</li> 
    <li>second element</li> 
    <li>third element</li> 
    <li>fourth element</li> 
    <li>fifth element</li> 
    <li>last element</li> 
</ul> 

</body> 
</html> 
0

嘗試刪除 addClass(之間

同樣的, $和您選擇

你使用Firebug,如果你的空間,看看HTML,看看是否類名是被應用與否。如果他們是,你只是忘了鏈接你的樣式表。如果他們不是,那麼你的JavaScript有什麼問題。

+1

函數名稱和括號之間的空格是完全可以接受的。 – 2009-07-23 11:42:13

0

首先,你確定插入了你的樣式表到你的頁面嗎?我經常忘記這一點。 其次,你有沒有將jquery js文件插入到你的頁面中?我經常忘記這一點。 三,peirix說什麼,它應該工作。我看不出它有什麼問題。

0

是否有可能動態創建li? 在這種情況下,添加類的調用不應在ready()上,而應在插入li後的回調中。

4

您也可以使用: .filter( 「:奇」)。addClass( 「奇」)

相關問題