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

Javascript 使用jquery find()查找表元素的立即tr元素,javascript,jquery,jquery-selectors,find,Javascript,Jquery,Jquery Selectors,Find,我试图在一个table元素中找到所有tr元素。它自身的表元素在其行中嵌套了其他表元素。因此,当我执行以下操作时: $(tbl).find('tr').hover(...); …它还拾取嵌套表元素中的tr元素。我只需要我试图查询的table元素的immediate tr元素 $(tbl).find('>tr').hover(…)不适合我 ps:tbl是一个表元素,而不是字符串这应该可以: $(tbl).children('tr').hover(...); $(tbl).children('tr

我试图在一个table元素中找到所有tr元素。它自身的表元素在其行中嵌套了其他表元素。因此,当我执行以下操作时:

$(tbl).find('tr').hover(...);
…它还拾取嵌套表元素中的tr元素。我只需要我试图查询的table元素的immediate tr元素

$(tbl).find('>tr').hover(…)不适合我

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

这应该可以:

$(tbl).children('tr').hover(...);
$(tbl).children('tr').hover(...);
表格:

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

这应该可以:

$(tbl).children('tr').hover(...);
表格:


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

不要忘记,从DOM的角度来看,tr元素嵌套在tbody元素中,因此您需要将其包含在选择器中

试试像

$(tbl).find('tbody>tr').hover(...); 
$(tbl).children().find('tr').hover(...); 
虽然这可能也会找到嵌套表的tbody,所以您可能需要类似于

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

不要忘记,从DOM的角度来看,即使标记中没有包含tr元素,tr元素也嵌套在tbody元素中,因此需要将其包含在选择器中

试试像

$(tbl).find('tbody>tr').hover(...); 
$(tbl).children().find('tr').hover(...); 
虽然这可能也会找到嵌套表的tbody,所以您可能需要类似于

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

请阅读完整答案

$(tbl).children() 
将为您提供
t正文
,如果存在,还将提供
thead
。 因此,如果您想要立即tr,您需要尝试这个

$(待定).children('tbody').children('tr'))

在获取
表的子对象时,不要忘记考虑
tbody
,就像在Firefox中直接调用
$(tbl)这样的子对象一样。children()
返回
tbody
,而不是
tr
,即使它不在标记中。复杂但有用


快乐编码。

请阅读完整答案

$(tbl).children() 
将为您提供
t正文
,如果存在,还将提供
thead
。 因此,如果您想要立即tr,您需要尝试这个

$(待定).children('tbody').children('tr'))

在获取
表的子对象时,不要忘记考虑
tbody
,就像在Firefox中直接调用
$(tbl)这样的子对象一样。children()
返回
tbody
,而不是
tr
,即使它不在标记中。复杂但有用


快乐编码。

我不知道tbody的存在,但我喜欢:
if($(tbl).children('tbody').size()>0{…}else{…}
我不知道tbody的存在,但我喜欢:
if($(tbl).children('tbody').size()>0{…}else{…}