为什么这个jQuery不起作用?

时间:2011-04-06 15:17:19

标签: jquery

我有一些风格的tds这个表(我把截图,因为td的内容很大) enter image description here

现在,我想在这个表中添加一些css,所以我试着在它的类中选择它的td并应用如下的样式:

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

但没有任何反应......你看到了问题吗?

提前致谢。

5 个答案:

答案 0 :(得分:5)

您想使用closest()代替parent()

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

parent()抓取元素的直接父级(如果它与选择器匹配)。 closest()遍历DOM,直到找到所需的选择器然后停止。 parents()遍历DOM并抓取与选择器匹配的所有元素。

答案 1 :(得分:3)

您需要使用parents(),而不是parent()。

Parent()将在DOM中看起来为1级。 Parents()将遍历DOM,直到找到匹配的元素。

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

答案 2 :(得分:3)

<table>不是<td>的父级,而是使用.parents('table')来获取祖先而不是直接的父级。

答案 3 :(得分:1)

使用父母代替父母:

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

答案 4 :(得分:1)

由于该类的元素的父级是<tr>而不是<table>,因此您的parent('table')调用不会返回任何内容。

使用Closest。不是父母,因为这可能会选择一个表格作为该表格的父表。

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