使用jquery find()查找表元素的立即tr元素

时间:2010-08-05 07:42:23

标签: javascript jquery jquery-selectors find

我试图在表元素中找到所有tr元素。它自己的表元素具有嵌套在其行内的其他表元素。所以当我做以下事情时:

$(tbl).find('tr').hover(...);

...它也会在嵌套表元素中拾取tr元素。我只想要我试图查询的表元素的直接tr元素。

$(tbl).find('>tr').hover(...);对我不起作用!

ps:tbl是一个表元素,而不是字符串

4 个答案:

答案 0 :(得分:4)

请阅读完整的答案。

$(tbl).children() 
如果存在,

将为您tbodythead。 所以如果你想要立即tr,你需要尝试这个。

$(TBL)。儿童( 'TBODY')。儿童( 'TR')

在抓取tbody的孩子时不要忘记考虑table,因为在Firefox中直接调用$(tbl).children()之类的孩子会返回tbody而不是{{1}即使它不在你的标记中。复杂但有用。

快乐编码。

答案 1 :(得分:0)

$(tbl).children('tr').hover(...);

答案 2 :(得分:0)

这应该有效:

$(tbl).children('tr').hover(...);

形成JQuery docu

.find()和.children()方法类似,只是后者只沿DOM树向下移动一层。

答案 3 :(得分:0)

不要忘记 - 即使您的标记不包含它们 - 从DOM的角度来看,tr元素嵌套在tbody元素中,因此您需要将它包含在选择器中。

尝试类似......

$(tbl).find('tbody>tr').hover(...); 

虽然这可能会找到嵌套表的tbody,所以你可能需要类似......

$(tbl).children().find('tr').hover(...);