使用JQuery在一系列表中获取特定的TD

时间:2012-02-24 00:32:53

标签: jquery html jquery-selectors

我有一堆HTML TABLE标签,我正在尝试使用JQuery深入到所有生成的TABLE中的特定TD单元。问题是我让JQuery获得了正确的TD单元格,但它只获得了具有相同结构的一系列TABLE中的第一个单元格。

这是我正在使用的JQuery到达正确的TD:

<script type="text/javascript">
    $(function ($) {
        $(".dataContent div table tbody tr td").first().css("background", "yellow");
    });
</script>

这是简化的HTML结构:

<td class="dataContent">
    <a href="#"></a>
    <div>
        <table>...</table>
        <div>
            <table cellspacing="0" cellpadding="0" style="border-width:0;">
                <tbody>
                    <tr>
                        <td><a href="#"><img /></a></td><!--this cell-->
                        <td><div>random cell</div></td>
                    </tr>
                </tbody>
            </table>
            <!--Generated Tables with same structure as the TABLE above-->
            <table></table>
            <table></table>
            <table></table>
            <table></table>
        </div>
    </div>
</td>

因此,我不仅希望获得第一个TABLE中的第一个单元格,还要获取下面所有生成的表格中的第一个单元格。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

使用td:first-child而不是.first()来获取每个表格中行中第一个的所有单元格:

$(".dataContent div table tbody tr td:first-child").css("background", "yellow");

使用:first选择器或.first()方法会导致jQuery仅从匹配的所有元素中返回第一个元素,因此它永远不会超出一个牢房。

答案 1 :(得分:1)

$(".dataContent div table").eq(0).find('td').eq(0)为您提供第一张表格中的第一个TD。

$(".dataContent div table").length将为您提供表格数量。

制作一个循环。容易。