如何使用JQuery和JavaScript动态获取div的长度?

如何使用JQuery和JavaScript动态获取div的长度?,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我正在使用AngularJS开发一个web应用程序。我发现自己的情况是,我有一个条(使用css我创建了一行),它必须动态地拉长和缩短。 我知道JQuery脚本足以做到这一点。例如,如果我的css是这样的: .my_line{ display:block; width:2px; background: #FFAD0D; height: 200px; /*This is the part that needs to dynamically change*/ }

我正在使用AngularJS开发一个web应用程序。我发现自己的情况是,我有一个条(使用css我创建了一行),它必须动态地拉长和缩短。 我知道JQuery脚本足以做到这一点。例如,如果我的css是这样的:

.my_line{
    display:block;
    width:2px;
    background: #FFAD0D;
    height: 200px; /*This is the part that needs to dynamically change*/
  }
我可以在控制器中调整行的大小(在
my_line
class中),只需使用:

$(".my_line").css("height", someExpression*100 + 'px');
问题是,我想根据另一个div元素的大小动态调整行的大小(或者,通常,我选择的任何HTML元素)。 我不知道如何(在运行时)获得某个页面元素的高度大小。 只有这样,我才能创建一条随着div(或其他元素)大小的变化而动态加长或缩短的线!
你是怎么做到的?因此,我将避免编写硬编码的度量值,但我希望确保它们随页面上其他元素的维度变化而变化,我希望这有助于:

$(“.my_line”).css(“height”,$(“#referenceElement”).height()*5+'px')
.my\u行{
显示:内联块;
宽度:2倍;
背景:#FFAD0D;
}
#引用元素{
显示:内联块;
背景:黄色;
}


嗨,我比橙色线小5倍在这里,我使用setInterval来跟踪div的高度(您也可以做width),并将其存储在以前的height变量中,并在每个间隔对其进行比较

然后根据比较,确定div的高度是否发生了变化。如果有,则会根据第一个div的高度更改另一个div的高度

您可以在同一个setInterval中创建多个变量并跟踪多个元素

$(文档).ready(函数(){
var-previousHeight=parseInt($(“#我的div”).css(“高度”);
setInterval(函数(){checkHeight();},100);
函数checkHeight(){
//检查此处元素的高度
var currentHeight=parseInt($(“#我的div”).css(“高度”);
如果(当前高度!=以前的高度){
前一高度=当前高度;
$(“动态div”).css(“高度”,parseInt(当前高度)+“px”);
}
}
$(“#按钮”)。单击(函数(){
$(“#我的div”).css(“高度”,parseInt(以前的高度)+5+“px”);
})
})
#我的div{
背景:#000000;
高度:20px;
宽度:20px;
}
#动态分区{
背景:水鸭;
高度:20px;
宽度:20px;
}

增加div高度

其他元素的高度如何变化?您是否可以使用相同的值同时更新
.my_line
的高度?否,其他元素的高度会发生变化,因为该页面的用户可以动态地向表中添加行。它不是“在代码中”写的元素必须增长多少,但它肯定会增长。您可以控制添加行的代码吗?