2009-07-11 2 views
0

Я пытаюсь скопировать размеры элемента и позицию (относительно документа) на другой элемент.JQuery - размеры и абсолютное положение элемента

Ex:

var SelectedElement = $("div#MyTargetElement"); 

    // The CopiedButEmpty element is a div with absolute position that is meant to hover/float above the selected element. 
    $("div#CopiedButEmpty").css("width", SelectedElement.width()).css("height", SelectedElement.height()) 
    .css("left", SelectedElement.offset().left).css("top", SelectedElement.offset().top) 
    .css("marginTop", SelectedElement.css("marginTop")).css("marginLeft", SelectedElement.css("marginLeft")) 
    .css("marginRight", SelectedElement.css("marginRight")).css("marginBottom", SelectedElement.css("marginBottom")) 
    .css("paddingLeft", SelectedElement.css("paddingLeft")).css("paddingTop", SelectedElement.css("paddingTop")) 
    .css("paddingRight", SelectedElement.css("paddingRight")).css("paddingBottom", SelectedElement.css("paddingBottom")); 

Но в некоторых случаях, она по-прежнему не дает мне правильную позицию. Я что-то упускаю? Есть ли способ легко скопировать позицию элементов (относительно документа), поэтому мой элемент «CopiedButEmpty» может навешивать элемент.

Заранее благодарен!

ответ

4

Интересно, почему вы не выбрали использование jquery clone().

+0

Согласен. Используйте клон jQuery(), затем empty() ваш новый элемент, чтобы получить пустую копию. Затем вы можете просто изменить его id/class или что угодно, используя attr(), прежде чем добавлять его туда, где вы этого хотите. –

Смежные вопросы