jQuery可以将元素的边界(位置,大小,边距等)复制到另一个元素吗?

DNS*_*DNS 5 html javascript jquery jquery-ui bounds

我有一个任意类型的元素.我想创建另一个与第一个元素具有相同位置和大小的相同或不同类型的元素.该元素可以定位,也可以不定位.

例如,我可以从具有<select>特定大小的a开始,可能取决于其内容,即宽度/高度auto.我想创建一个<div>出现在同一位置并具有相同大小的新内容.

我试过复制元素的浮动,清晰,位置,宽度,高度,边距和填充,但这有点麻烦.此外,虽然它适用于Firefox,但在Webkit上进行测试时遇到了一些奇怪的问题.在我花费更多时间搞清楚之前,我想知道是否有一些jQuery或jQuery UI功能已经处理了我想要做的事情.

我意识到这个问题与现有问题类似,但是我的问题在于需要使用不同类型的元素,这是排除在外clone的一个解决方案.

Dav*_*och 4

这不是高效的、经过测试的或完整的。它可能与您已经在做的事情类似。但我想无论如何我都会发布它:

var positioningProps = ["float","position","width","height","left","top","marginLeft","marginTop","paddingLeft","paddingTop"];
var select = $("#mySelect");
var div = $("<div>").hide().before(select);
// don't do this kind of loop in production code
// http://www.vervestudios.co/jsbench/
for(var i in positioningProps){
    div.css(positioningProps[i], select.css(positioningProps[i])||"");
}
select.hide();
Run Code Online (Sandbox Code Playgroud)