2014-02-25 29 views
4

我基本上想要根據行中的一個<td class="status">的內容更改<tr>的背景顏色。更改<tr>當兒童​​包含「xyz」與jquery的背景

我試過這個,在衆多的其他事情

$('.status:contains("Complete")') .parent() .css('background', '#dff0d8'); 

下面的代碼工作在它自己罰款着色<td>

$('.status:contains("Complete")') .css('background', '#dff0d8'); 

但.parent()不工作爲行着色。任何幫助非常感謝。

回答

3

css應用於td的同胞而不是tr,如果要包含當前td,也可以使用andSelf()

$('.status:contains("Complete")').siblings().andSelf().css('background', '#dff0d8'); 

如果您使用jQuery 1.8 +,然後使用andBack而不是andSelf。

的andSelf功能已棄用,現在是 .addBack()的別名,它應該與jQuery 1.8被使用和以後,reference

+0

這個工作中突出的一切,但細胞。 – jason3w

+0

檢查更新後的答案,你需要和自己包含當前元素 – Adil

+0

'andSelf'應該在'兄弟'之後調用。 – undefined

0

試試這個,

$('.status:contains("Complete")') .closest('tr') .css('background', '#dff0d8'); 
2

您可以使用closest()獲得最接近tr父您td的:

$('.status:contains("Complete")').closest('tr').css('background', '#dff0d8'); 
+0

我試過這個,但沒有運氣。看起來是最簡單的方法。我正在使用1.7.1 – jason3w