2011-04-06 182 views
0

我有這個表的一些風格TDS(我把截圖,因爲TD的內容是相當大的) enter image description here爲什麼這個jQuery不起作用?

現在,我想一些CSS添加到這個表,所以我嘗試之一,如果選擇其TD它的類和適用的風格,如:

jQuery(".graTabbedComponentDefaultTabs").parent('table').css('position','relative'); 

但沒有任何反應....你看到這個問題?

在此先感謝。

回答

3

您需要使用父母(),而不是父母()。

Parent()將在DOM中看起來1級。 Parents()會遍歷DOM直到找到匹配的元素。

jQuery(".graTabbedComponentDefaultTabs").parents('table').css('position','relative'); 
3

<table>是不是你<td>的母公司 - 使用.parents('table'),而不是讓祖先,而不是直接父項。

+2

如果該表嵌套在父裏面,這會同時選擇,而不是最靠近:http://api.jquery.com/closest/ – StuperUser 2011-04-06 15:22:38

1

使用的父母,而不是父母:

jQuery(".graTabbedComponentDefaultTabs").parents('table').css('position','relative'); 
5

你想用closest()而不是parent()

jQuery(".graTabbedComponentDefaultTabs").closest('table').css('position','relative'); 

parent()抓住直接父元素的(如果它選擇器相匹配)。 closest()遍歷DOM直到找到所需的選擇器然後停止。 parents()遍歷DOM並抓取匹配選擇器的所有全部元素。

+1

打我給它的代碼示例。 – StuperUser 2011-04-06 15:21:14

1

因爲具有該類別的元素的父元素是<tr>而不是<table>,所以parent('table')調用將不會返回任何內容。

使用Closest。不是父母,因爲這可能會選擇一張表格作爲該表格的父表格。

$(".graTabbedComponentDefaultTabs") 
    .closest('table') 
    .css('position','relative');