Javascript 如何获取clossest 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元素。对于每个表,我需要得到表所在的最近的div元素的高度,并将其分配给它。我使用了closset()和parents(),但它不起作用,因为它总是获取页面上最后一个div元素的高度,并将其分配给所有表。我需要的是桌子的高度应该和桌子所在的div一样

<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用于此示例。很抱歉,您的代码不适用于我:(