如何将一个div的所有属性分配给另一个div

时间:2011-12-21 13:07:54

标签: javascript jquery

我需要分配位置,顶部,左侧,高度,宽度和宽度。一个div与另一个div的边界。由于我需要操作多个div,我正在寻找使用jQuery的优雅解决方案。

请记住,这两个div有不同的ID,我想保持这种状态。

提前致谢&最好的问候,sbguy

4 个答案:

答案 0 :(得分:1)

使用.clone()
http://api.jquery.com/clone/

答案 1 :(得分:1)

短期内可能会有更多工作,但根据我使用课程的经验,这是此类工作的最佳长期解决方案。

不使用它们会很快变得混乱。

答案 2 :(得分:1)

考虑使用.clone函数。

$("div-selector").clone();

您可以立即将其定位到您想要的位置。 E.g

 $("div-selector").clone().appendTo("where-you-want-it");

您可以选择将其填充到变量中,也可以修改克隆的元素或其内容。

答案 3 :(得分:0)

你能不能只为有问题的元素添加一个类?如果没有,这样的事情怎么样:

function cloneCSS(source, receiver){
    var cssObj = {
            position: source.css('position'),
            top: source.css('top'),
            left: source.css('left'),
            height: source.css('height'),
            width: source.css('width'),
            border-top-width: source.css('border-top-width'),
            border-top-width: source.css('border-top-style'),
            border-top-width: source.css('border-top-color'),
            border-bottom-width: source.css('border-bottom-width'),
            border-bottom-width: source.css('border-bottom-style'),
            border-bottom-width: source.css('border-bottom-color'),
            border-left-width: source.css('border-left-width'),
            border-left-width: source.css('border-left-style'),
            border-left-width: source.css('border-left-color'),
            border-right-width: source.css('border-right-width'),
            border-right-width: source.css('border-right-style'),
            border-right-width: source.css('border-right-color'),
    };

    receiver.css(cssObj);
}

很烦人,你必须单独设置所有这些边框属性,但这就是它的方式。创建这样的对象然后在css()方法中应用它的好处是你只需要调用一次该方法,所以你只需要修改一次DOM。