找到某个班级的第n个div

时间:2014-10-23 12:21:50

标签: javascript jquery html

这也适用于IE8

我的tr行元素有多个td元素,每个元素包含多个div。有些div有类" cell-data"

在所有这些div中排成一排。我正在尝试使用类" cell-data"找到并操纵 second和 第三 div。

我可以正确地得到第一个孩子而不是第三个孩子。我在这里搜索 SO也尝试了eq()方法,但仍无法找到。

$( ".rows" ).each(function() {
    var height = $(this).find('.cell-data:nth-child(1)').css("height");
    var height3= $(this).find('.cell-data:nth-child(3)').css("height") ;
});

Html看起来像这样

                  <tr class="rows">
                                    <td class="cell-td">  
                                        <div class="row">
                                            <div class="col-3">
                                                <div>
                                                </div>
                                            </div>
                                            <div class="col-3">
                                                <div  class="cell-data">

                                                </div>
                                            </div>
                                        </div>
                                    </td>
                                    <td class="cell-td">

                                            <div class="cell-data" >

                                                </span>
                                            </div>


                                    </td>
                                    <td class="cell-td">
                                        <div class="cell-data">

                                        </div>
                                    </td>
                                </tr>

2 个答案:

答案 0 :(得分:0)

.cell-data:nth-child(3)没有给你第三个div。它会为您提供父母的第三个孩子。

改为使用.cell-data:nth-of-type(3)

答案 1 :(得分:-1)

由于@Vld建议问题是由于td元素,所以我修复了;

$(".rows").each(function () {
        var td1 = $(this).find('.cell-td:nth-of-type(1)');
        var td2 = $(this).find('.cell-td:nth-of-type(2)');
        var td3 = $(this).find('.cell-td:nth-of-type(3)');

        var height = $(td1).find('.cell-data:nth-of-type(1)').css("height");
        $(td2).find('.cell-data:nth-of-type(1)').css("height", height);
        $(td3).find('.cell-data:nth-of-type(1)').css("height", height);
    });