2013-06-25 66 views
1

我的樣本HTML遍歷HTML使用jQuery

<tr> 
    <td> 
     <div><span id="temp" /> 
     </div> 
    </td> 
</tr> 
<tr> 
    <td> 
     <div><span id="temp" /> 
     </div> 
    </td> 
</tr> 

從跨度標籤我如何得到表TR標籤並將其背景色? 任何簡單的方法,而不是找到parent.parent?

而且只有特定跨度標記TR應該不是全部表TR?

由於

+2

'$('#temp')。parents('tr').css('background-color','red');' – casraf

+0

@Chen優秀且快速。修改我的問題。我只需要一個TR來改變不是所有的TR。有沒有簡單的方法 – user2067567

+0

@ user2067567:請參閱pXL和評論的答案。 – Orbling

回答

11

可以使用.closest()

$('#temp').closest('tr').css('background-color', 'green'); 
+2

+1。因爲'.parents()'在嵌套表格中導致問題,因爲它匹配所有''父母並且將返回多個。而'.closest()'返回最匹配的祖先。 – Orbling

+0

@pXL我如何使它隻影響達TR而不是所有TR – user2067567

+0

+1。我剛剛閱讀了'.closest()'和'.parents()'的文檔,這似乎更快 –

1

嘗試.parents()

$('#temp').parents('tr').first().css({'background-color': '#fff'}); 

。首先()排除嵌套表格的原因的元素。

或者.closest()

$('#temp').closest('tr').css({'background-color': '#fff'}); 
1
jQuery中

$("#temp").parents("tr").css('background-color', 'green');