0

我正在尝试通过 jquery 获取元素的尺寸,但运气不佳。

这就是我创建 div 的方式。

var window = document.createElement( 'div' );
window.setAttribute( 'id', 'myWindow' + id );
window.setAttribute( 'data-minwidth', '75' );
window.setAttribute( 'data-minheight', '50' );
window.setAttribute( 'class', 'box_flat' + theme  + '  message' );
window.setAttribute( 'style', 'z-index:' + id );

var content = document.createElement( 'div' );
content.setAttribute( 'id', 'myContent' + id )
content.setAttribute( 'class', 'contents' )
window.appendChild( content );

document.body.appendChild( window )

这就是我试图达到它的方式。

var cont = $( element ).closest( ".content" ).find( 'div' )

在这种情况下,元素 = 窗口。

我总是得到一个看起来像选择器列表的对象。.width() 和高度一样返回 null。这里有什么更好的方法?

4

2 回答 2

1

请不要在window这里重新定义对象。为新创建的 div 使用其他名称。closest()此外,在这种情况下您也不需要。简单find()就足够了,因为您.content是窗口的孩子(您应该将其更改为其他内容)

于 2013-04-30T13:32:22.183 回答
0
var cont = $( element ).find( ".content" );

closest用于查找与选择器匹配的最近祖先。 "window"不是它的后代,.content它是父母。您用于find查找后代元素。

附带说明一下,您可能不应该使用名为“window”的变量,因为它在 javascript 中已经有意义。

于 2013-04-30T13:31:35.613 回答