0

在创建了一个 Div 'MyParent' 之后,许多不同宽度和高度的孩子被添加到这个 'MyParent' 中。最后,我想知道“MyParent”的最终宽度和高度(以像素为单位)。我使用熟悉的函数来获得宽度和高度,我在所有尝试中都得到了 0。

这是一个简单的代码:

var myPrt = document.createElement('div');
var C1 = document.createElement('div');
var C2 = document.createElement('div');
var C3 = document.createElement('div');

myPrt.appendChild(C1);
myPrt.appendChild(C2);
myPrt.appendChild(C3);

$(C1).css({position:absolute;left:-100px;top:100px;width:100px;height:50px;background:red});
$(C2).css({position:absolute;left:100px;top:-100px;width:75px;height:50px;background:yellow});
$(C3).css({position:absolute;left:150px;top:200px;width:90px;height:50px;background:black});

$(myPrt).height(); // returns 0
$(myPrt).css('height') // returns 0
$(myPrt).innerHeight(); // returns 0
$(myPrt).outerHeight(); // returns 0
myPrt.clientHeight; // returns 0

以简单的方式得到那个?

因为实际上我已经找到了解决这个问题的方法,但是它作用于 Childs,创建一个循环抛出所有的 Parents Childs,然后得到这些孩子的 max left 和 min left,然后返回 min 之间的距离& max ,并且通过获取最大/最小顶部来获得相同的高度提示,但是,此提示需要孩子有一个绝对位置才能到达左/顶部我正在寻找一个现有的 jquery 或 javascript 函数,它没有绝对位置为孩子们。

谢谢

4

1 回答 1

0

看看这个 JSFiddle,我认为你只是笨拙。您从未将 myPrt div 添加到文档中。

另一个问题是您没有将 css 作为带有字符串变量的格式正确的 javascript 字典传递。

http://jsfiddle.net/FcSEG/1/

var myPrt = document.createElement('div');
$('body').append(myPrt);

var C1 = document.createElement('div');
var C2 = document.createElement('div');
var C3 = document.createElement('div');

myPrt.appendChild(C1);
myPrt.appendChild(C2);
myPrt.appendChild(C3);

$(C1).css('width','500');
$(C1).css('height','500')
$(C1).css('background','red');

alert($(myPrt).height());
于 2013-07-10T12:16:43.193 回答