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» мог зависать над элементом.


person Community    schedule 11.07.2009    source источник


Ответы (1)


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

person simplyharsh    schedule 11.07.2009
comment
Я согласен. Используйте jQuery clone(), затем empty() ваш новый элемент, чтобы получить пустую копию. Затем вы можете просто изменить его идентификатор/класс или что-то еще, используя attr(), прежде чем добавлять его туда, где вы хотите. - person Jason Berry; 13.07.2009