2011-12-21 56 views
0

我需要將一個div的位置,頂部,左側,高度,寬度&邊框分配給另一個div。由於我有多個div需要操作,因此我正在尋找一個使用jQuery的優雅解決方案。如何將一個div的所有屬性分配給另一個div

請記住,兩個div有不同的ID,我想保持這種方式。

預先感謝&最好的問候,sbguy

+0

可能的重複http://stackoverflow.com/questions/754607/can-jquery-get-all-css-styles-associated-with-an-element – matino 2011-12-21 13:13:34

+0

你可以使用CSS類,他們是爲了.. 。(順便說一下,身份證**必須**不一樣,這不是一個選擇;-)) – 2011-12-21 13:13:50

+0

我給你做了一個函數,但是我不能記錄它:http://jsfiddle.net/qQHqU/ – 2011-12-21 13:27:53

回答

1

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

+0

這不會克隆Id嗎? – Deleteman 2011-12-21 13:16:19

+0

您可以在克隆後修改ID。 – Chibuzo 2011-12-21 13:25:23

+0

$('#div1')。clone()。attr('id','id_div2')。appendTo('place_you_want') – 2011-12-21 13:28:50

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。

1

這可能是短期內更多的工作,但根據我的經驗,使用班級是這類工作的最佳長期解決方案。

不使用它們很麻煩。

1

考慮使用.clone函數。

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

您可以立即將其定位到您想要的位置。例如

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

您可以選擇將其填入變量中,也可以修改克隆的元素或其內容。

相關問題