Javascript 如何获取clossest div元素的高度
我有多个具有多个高度的div元素。对于每个表,我需要得到表所在的最近的div元素的高度,并将其分配给它。我使用了closset()和parents(),但它不起作用,因为它总是获取页面上最后一个div元素的高度,并将其分配给所有表。我需要的是桌子的高度应该和桌子所在的div一样Javascript 如何获取clossest div元素的高度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有多个具有多个高度的div元素。对于每个表,我需要得到表所在的最近的div元素的高度,并将其分配给它。我使用了closset()和parents(),但它不起作用,因为它总是获取页面上最后一个div元素的高度,并将其分配给所有表。我需要的是桌子的高度应该和桌子所在的div一样 <div>Some Text here</div> <div> <table id="firstTable"> <tr> <th>Heade
<div>Some Text here</div>
<div>
<table id="firstTable">
<tr> <th>Header 1</th>
<th>Header 2</th>
<th>Headier 3</th>
</tr>
<tr>
<td>info</td>
<td>info</td>
<td>info</td>
</tr>
</table>
</div>
</div>
<div class="dragitem" style="height: 300px">
<div>Some Text here</div>
<div>
<table id="secondTable">
<tr> <th>Header 1</th>
<th>Header 2</th>
<th>Headier 3</th>
</tr>
<tr>
<td>info</td>
<td>info</td>
<td>info</td>
</tr>
</table>
</div>
</div>
但这些都不管用。它总是获取类名为dragitem的最后一个div的高度,并将其分配给所有表。所以在这个例子中,第一张桌子的高度是300px。我需要的是第一个表是600px,第二个表是200px。
感谢您的帮助部分问题是因为您多次使用了相同的
id
属性<代码>id在页面中必须是唯一的。相反,您可以使用类
对公共元素进行分组
从那里,您可以循环遍历每个.firstTable
元素,并使用closest()
获取其父级.dragitem
div的高度,如下所示:
$('.firstTable').each(function() {
console.log($(this).closest('div.dragitem').height());
});
部分问题是因为您多次使用了相同的
id
属性<代码>id在页面中必须是唯一的。相反,您可以使用类
对公共元素进行分组
从那里,您可以循环遍历每个.firstTable
元素,并使用closest()
获取其父级.dragitem
div的高度,如下所示:
$('.firstTable').each(function() {
console.log($(this).closest('div.dragitem').height());
});
另一部分是您需要表的直接父级,因此请尝试使用
.parents('table').parent('div')
代替。另一部分是您需要表的直接父级,因此请尝试使用.parents('table').parent('div')
代替。您好,谢谢您的回复。我将表的id动态地放入代码中,因此id不是问题。我只把#firstTable放在这个例子中。很抱歉,您的代码不适用于我:(您好,谢谢您的回复。我已将表的id动态地放入代码中,因此id不是问题。我仅将#firstTable用于此示例。很抱歉,您的代码不适用于我:(