2012-04-21 78 views
1

我指出了我的表td中的第一个div,如下面的jQuery代码所示。查找td中的第一个div

$('table tr td div').css("position", "relative"); 

但我有一些问题,这让我已经试过这样:

$('table tr td').parents('div:first').css({position:'relative'}); 

但是这一个不正常工作无论是。我的代码有什么问题?

我的HTML结构是:

<table> 
    <tr> 
     <td><!-- all id for the div and image inside the td are dynamic --> 
      <div><!-- Need to access this div --> 
       <!-- content ---> 
      </div> 
     </td> 
    </tr> 
</table> 
+1

你想找到每个td中的每个第一个div或者只是第一个div? – 2012-04-21 13:04:08

+0

@FelixKling:是的,我需要找到每个td中的每个第一个div – krish 2012-04-21 13:06:24

回答

4

.parents()找到你选择的所有父。你想要的是一个孩子。

$('table tr td div:first').css("position", "relative"); 

这将这样的伎俩为你:)


您还可能希望只选择确切的后裔,在这种情况下,你可以使用:

$('table tr td > div:first').css("position", "relative"); 
+2

另外,您可能只想选择确切的后代,在该cas中您可以使用“table tr td> div” – Flater 2012-04-21 13:03:42

+0

您的意思是'“table tr td > div:first“' – krish 2012-04-21 13:07:32

+0

正如jQuery文档所建议的那样,jQuery(”table tr td div“)。filter(”:first“)更快。处理繁重的DOM树时。 – 2012-04-21 13:14:20