JQuery在td中选择一个元素

时间:2009-11-04 21:55:31

标签: jquery css-selectors

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

$("table > td:#box")

这是我的表结构示例:

<div id="main">
<div id="today">
    <table id="list" width="100%" cellpadding="4" cellspacing="0" border="0" style="font-size: 10px; border-collapse:collapse;">
    <tr id="109008">
    <td class="tdstd">
    <a class="box" href="link"></a>
    </td>

或使用Chrome的DOM检查器:

alt text

5 个答案:

答案 0 :(得分:17)

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

$("table td .box")

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

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

$("table.boxes td .box")

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


您现在已经添加了HTML,因此我正在编辑我的答案:

$("table#list a.box")

答案 1 :(得分:9)

最有效的选择器是:

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

或:

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

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

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

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

答案 2 :(得分:2)

 $("table tr td .box")

应该做的伎俩。

答案 3 :(得分:0)

这个选择器......

table td a.box

告诉jQuery找到包含“box”的a属性的class标记。此a代码必须位于td内的table内。

答案 4 :(得分:-2)

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