得到div元素(父溢出隐藏)

时间:2017-12-12 10:26:20

标签: javascript html css3 typescript flexbox

获取一个div,它被隐藏的溢出部分隐藏。

我有一个包含3个div的div容器

div容器设置为flex en,只有最后一个div的大小增加,因此它会填充容器中的空间。 容器隐藏了属性溢出。

最后一个div包含将填充div的动态数据,并将部分隐藏。我需要知道div的大小(宽度)在容器内。

我尝试了几种方法,如offsetwith,clientwidth& getboundingclientrect()。宽度。

全部使用隐藏部分返回div的宽度。 我需要宽度隐藏隐藏部分。

function getResult(str){
    return str.split('"').filter((e, i) => (i&1))
}

console.log(getResult('work "work & work'));
console.log(getResult('Exercise is "good" for "health"'));

(我在我的项目中使用(angular2)typescript但是不知道如何在codepen中使用它

1 个答案:

答案 0 :(得分:0)

你必须使用隐藏的css参数获取div中的所有div元素,并将它们的所有宽度相加

使用jQuery

var totalWidth = 0
  //this get all div element inside component
  $('.component > div').each(function(){
    totalWidth += $(this).width()
  })
  alert('total width of elements inside container "component": ' + totalWidth)

您的codepen已编辑

https://codepen.io/anon/pen/OzJjBo

观察:这项工作因为“组件”的内部元素是内联的,你不能得到“组件”元素的宽度添加隐藏部分,因为隐藏部分不是“组件”宽度的一部分是溢出的元素。在jQuery中调用的offset方法或outerWidth获取添加填充,边距和边框的元素的宽度,而不是隐藏的部分,因为它不是元素的一部分。