我想在我的一个表的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检查器:
答案 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")
...