2010-01-01 82 views
0

工作,我需要一些幫助,這jQuery的addClass不TableCell的

我試圖做到這一點

if(perc>0){ 
alert('change backgroundcolor and textcolor'); 
$('#stocktable tr td:last').addClass('stockhigher'); 

}

,但它不能在一個TableCell的

我的工作也嘗試設置像這樣的選擇器

$('#stocktable tr td:eq(2)).addClass... 
$('#stocktable tr td.percentage').addClass... 

什麼都沒有!

它放在桌子上本身或類似

$('#stocktable tr') 

一個tablerow的工作,我失去了一些東西在這裏?

感謝,理查德

+0

你能提供HTML標記嗎? – rahul 2010-01-01 13:21:49

回答

3

三樣東西映入腦海:

  1. 您使用的是:last僞元素。這將最多匹配一個元素,在這種情況下,這是「stocktable」中的最後一個表格單元格。你的意思是否代表:last-child
  2. 您正在使用:eq(2),它將僅匹配整個集合中的第三個元素。你的意思是:nth-child(2)
  3. $("#stocktable tr td.eq(2)).addClass...缺失並結束報價;和
  4. 你在做什麼沒有錯。什麼不正確?也許這不是可以應用於表格單元格的格式。

爲了進一步解釋(1)想象一下你有一張3行4格的表格,其ID爲「mytable」。此代碼:

$("#mytable td:eq(2)").css("background", "yellow"); 

將顏色的第一行的第三元件(:eq()是從零開始)而:

$("#mytable td:nth-child(2)").css("background", "yellow"); 

將顏色在每個細胞。

$("#mytable td:last").css("background", "yellow"); 

將色彩非常最後一個單元格的最後一行,但:

$("#mytable td:last-child").css("background", "yellow"); 

將色彩最後一個單元格每個行。

+0

謝謝你,現在我希望你這麼快。 我當時很蠢,問題是我在評估後全部替換了td的 兩行,對不起 – Richard 2010-01-01 13:28:18

+0

如果有可能刪除帖子的話請做。 – Richard 2010-01-01 13:30:22