我的应用程序中有以下结构:
<div id="container">
<div id="child_container">
<div class="child"></div>
<div class="child"></div>
...
<div class="child"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
每个子div具有已知的固定宽度,但应用程序允许将更多的子插入child_container div中.
我想要做的是在给定子容器的总宽度时,在需要时让容器div水平扩展.
这是目前发生的事情:
+------ container -------+
+--- child_container ----+
| child1 child2 child3 |
| child4 |
+------------------------+
Run Code Online (Sandbox Code Playgroud)
如果我将child_container div宽度设置为固定值,我可以让它在容器div之外水平扩展,尽管有点丑陋:
+------ container -------+
+------ child_container -+----+
| child1 child2 child3 child4 |
+------------------------+----+
Run Code Online (Sandbox Code Playgroud)
但是,这需要在添加新子项时重新计算它.
有没有办法在不使用固定宽度的情况下为子容器执行此操作,以最终结果为止
+--------- container ---------+
+------ child_container ------+
| child1 child2 child3 child4 |
+-----------------------------+
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在尝试定义一个类,该类在其构造函数中实例化其他对象并将其引用传递给自身:
var Child = function(m) {
var mother = m;
return {
mother: mother
}
}
var Mother = function() {
var children = makeChildren();
return {
children: children
}
function makeChildren() {
var children = [];
for (var i = 0; i < 10; i++) {
var c = new Child(this); // <--- 'this' is an empty object here
children.push(c)
}
return children;
}
}
Run Code Online (Sandbox Code Playgroud)
这是行不通的,Child实例最终在其mother属性中带有一个空对象。正确的方法是什么?