JQuery在td中选择一个元素

我想在我的一个表的td中选择一个元素,但我真的不懂语法。 这是我试过的:

$("table > td:#box") 

这是我的表结构的示例:

 

或者使用Chrome的DOM检查器:

替代文字

好吧,“#box”表示ID为“box”的DOM对象,因为它是唯一的ID。 您可以直接选择那个。 但是你的代码建议你有几个带有id“box”的元素,你必须改变它们。 您应该为TD内的元素分配一个类,或者如果它是唯一的DIV或SPAN在框中,您可以像这样访问它:

 $("table td .box") 

请注意,“>”选择器意味着TD必须是TABLE的直接子节点,并且我假设您之间至少有一个TR级别,因此这也不起作用。 我上面的示例将任何带有类“box”的每个元素与任何TABLE的子级内的TD匹配。

显然我也会在桌子上设置一个类,并使用这样的东西:

 $("table.boxes td .box") 

这样你就不会意外地选择你想要工作的范围之外的东西。


你现在已经添加了HTML,所以我正在编辑我的答案:

 $("table#list a.box") 

最有效的选择器是:

 $('#list').find('a.box'); 

要么:

 $('a.box', $('#list')[0]); 

通过首先选择表id您已将范围设置为仅表,然后您可以在该表中搜索所需的元素。

第二个选择器是相同的,你正在选择一些东西,你将范围作为第二个参数。

阅读第一篇文章会更容易。

  $("table tr td .box") 

应该做的伎俩。

这个选择器……

 table td a.box 

告诉jQuery找到a包含“box” class属性a标签。 而且这个标签必须位于table内的td内。

我不确定,但我想,你需要$("td#box") ……