这也适用于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>
答案 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);
});