2010-06-11 45 views
1
$(".wrap table tr:first").addClass("tr-top"); 

它适用于第一个表,但我有许多表下div .wrap。 我该怎么办?谢谢!jquery:第一个选择器循环问题

+0

我们可以看到您的标记? – 2010-06-11 17:45:57

回答

1

在你的榜样,这条线返回集合中的所有元素tr的第一。

$(".wrap table tr:first").addClass("tr-top"); // First <tr> of all that are found 

所以,如果你有3个table元素,它只会从第一个表中返回第一tr,因为这将是第一个匹配的tr元素。

如果你想为每个第一tr,你需要first-child

$(".wrap table tr:first-child").addClass("tr-top"); // First <tr> for each <table> 

...这将返回每个tr是其父的第一个孩子。

http://api.jquery.com/first-selector/

http://api.jquery.com/first-child-selector/

+0

谢谢你!这样可行。 – ray 2010-06-11 17:58:42

+0

@射线 - 不客气。 :O) – user113716 2010-06-11 17:59:35

0

这应该工作。每个循环遍历.wrap中的每个表。

$('.wrap table').each(function() { 
    $('.wrap table tr:first').addClass('tr-top'); 
}}; 

http://api.jquery.com/each/

+0

这实际上并不会产生与OP目前有什么不同的结果。 – user113716 2010-06-11 17:55:04

+0

谢谢!但我想我已经尝试过,似乎也不适用于我。 – ray 2010-06-11 17:58:24