首页 \ 问答 \ 如何找到内部元素的宽度(How to find width of inner elements)

如何找到内部元素的宽度(How to find width of inner elements)

我找不到任何其他问题提出同样的问题,虽然这可能是我的搜索语句的问题。

我想弄清楚如何找到包含在一个固定宽度的容器div内的所有元素的最大宽度。 所以,在下面的图片中,黑框是具有固定宽度的容器div。 红色框表示容器div的内容,这些内容可能会发生变化。 我想查找红框的宽度,只使用js中的黑框。

里面显示容器div和更大的div

这里是我一直在努力/尝试的jsfiddle:

http://jsfiddle.net/w87k5/1/

我试过的当前jquery函数没有成功:

.width();
.innerWidth();
.outerWidth();
.scrollLeft();

注:我不知道这个容器的内容。 它们可以是任何html元素或html元素的组合,从div到img到iframe。 我可以放一个没有固定宽度的“红色盒子”。 黑盒子的溢出将被隐藏。

更新:容器中可能有任何数量的孩子。 像这样: http : //jsfiddle.net/w87k5/3/

更新2:我将对所有答案运行基准速度测试,以查看哪一个最快,然后选择一个。 感谢您的输入!

基准测试:我用0和100之间的随机宽度生成了1000个div,记录了Date().getTime(),做了测试,然后再次记录了时间。 结果如下:

〜2418平均 毫秒与for循环的长度。 不知怎的,我可能会搞砸了这个吗?

for (var i = 1; i <= count; i++){
        var q = $("#box :nth-child(" + i + ")").width();
        if(q > box){
            box = q;
        }
    }

〜34.4平均。 毫秒为.each循环。

〜22.4平均。 ms。为.map函数。 (选择答案。)


I couldn't find any other questions asking the same thing, though that may be a problem with my search phrasing.

I'm trying to figure out how to find the largest width of all elements contained inside of a container div with a fixed width. So, in the image below, the black box is the container div with a fixed width. The red box represents the contents of the container div, which are subject to change. I want to find the width of the red box, using only the black box in js.

display of container div and larger div inside

Here is a jsfiddle with what I've been working on/trying:

http://jsfiddle.net/w87k5/1/

the current jquery functions I've tried, with no success:

.width();
.innerWidth();
.outerWidth();
.scrollLeft();

Note: I do not know ANYTHING about the contents of this container. They could be any html element or mix of html elements, from divs to imgs to iframes. I could put a "red box" without a fixed width surrounding them. Overflow of the black box will be hidden.

Update: There could be any number of children in the container. Like this: http://jsfiddle.net/w87k5/3/

Update 2: I'm going to run benchmark speed tests on all of the answers to see which one is the fastest, and select one after that. Thanks for all your input!

Benchmarks: I generated 1000 divs with a random width of inbetween 0 and 100, recorded the Date().getTime(), did the test, then recorded time again. Here are the results:

~2418 avg. milliseconds with the for loop for length. I might have messed this one up somehow?

for (var i = 1; i <= count; i++){
        var q = $("#box :nth-child(" + i + ")").width();
        if(q > box){
            box = q;
        }
    }

~34.4 avg. ms for the .each loop.

~22.4 avg. ms for the .map function. (Chosen answer.)


原文:https://stackoverflow.com/questions/20767994
更新时间:2022-01-11 13:01

最满意答案

如果您知道要显示的对象,可以使用$firebaseObject而不是$firebaseArray

var ref = firebase.database().ref('/myusers/').child("users");
$scope.user = $firebaseObject(ref.child($scope.id));

然后在您的HTML中显示它:

<div >
    <h2>{{user.firstname}}</h2>
    <p>{{user.age}}</p>  
</div>

If you know what object you want to display, you can use $firebaseObject instead of $firebaseArray:

var ref = firebase.database().ref('/myusers/').child("users");
$scope.user = $firebaseObject(ref.child($scope.id));

And then display it in your HTML with:

<div >
    <h2>{{user.firstname}}</h2>
    <p>{{user.age}}</p>  
</div>

相关问答

更多

相关文章

更多

最新问答

更多
  • python的访问器方法有哪些
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。
  • 响应navi重叠h1和nav上的h1链接不起作用(Responsive navi overlaps h1 and navi links on h1 isn't working)
  • 在C中读取文件:“r”和“a +”标志的不同行为(Reading a File in C: different behavior for “r” and “a+” flags)
  • NFC提供什么样的带宽?(What Kind of Bandwidth does NFC Provide?)
  • 元素上的盒子阴影行为(box-shadow behaviour on elements)
  • Laravel检查是否存在记录(Laravel Checking If a Record Exists)
  • 设置base64图像的大小javascript - angularjs(set size of a base64 image javascript - angularjs)
  • 想学Linux 运维 深圳有哪个培训机构好一点
  • 为什么有时不需要在lambda中捕获一个常量变量?(Why is a const variable sometimes not required to be captured in a lambda?)
  • 在Framework 3.5中使用服务器标签<%=%>设置Visible属性(Set Visible property with server tag <%= %> in Framework 3.5)
  • AdoNetAppender中的log4net连接类型无效(log4net connection type invalid in AdoNetAppender)
  • 错误:发送后无法设置标题。(Error: Can't set headers after they are sent. authentication system)
  • 等待EC2实例重启(Wait for an EC2 instance to reboot)
  • 如何在红宝石中使用正则表达式?(How to do this in regex in ruby?)
  • 使用鼠标在OpenGL GLUT中绘制多边形(Draw a polygon in OpenGL GLUT with mouse)
  • 江民杀毒软件的KSysnon.sys模块是什么东西?
  • 处理器在传递到add_xpath()或add_value()时调用了什么顺序?(What order are processors called when passed into add_xpath() or add_value()?)
  • sp_updatestats是否导致SQL Server 2005中无法访问表?(Does sp_updatestats cause tables to be inaccessible in SQL Server 2005?)
  • 如何创建一个可以与持续运行的服务交互的CLI,类似于MySQL的shell?(How to create a CLI that can interact with a continuously running service, similar to MySQL's shell?)
  • AESGCM解密失败的MAC(AESGCM decryption failing with MAC)
  • SQL查询,其中字段不包含$ x(SQL Query Where Field DOES NOT Contain $x)
  • PerSession与PerCall(PerSession vs. PerCall)
  • C#:有两个构造函数的对象:如何限制哪些属性设置在一起?(C#: Object having two constructors: how to limit which properties are set together?)
  • 平衡一个精灵(Balancing a sprite)
  • n2cms Asp.net在“文件”菜单上给出错误(文件管理器)(n2cms Asp.net give error on Files menu (File Manager))
  • Zurb Foundation 4 - 嵌套网格对齐问题(Zurb Foundation 4 - Nested grid alignment issues)
  • 湖北京山哪里有修平板计算机的