克隆没有获得原始div的顶部/左侧值

时间:2014-03-14 06:41:16

标签: jquery

我在这里克隆一个div - http://jsfiddle.net/ncA6c/ - 我不明白为什么克隆没有拾取原始盒子偏移的顶部/左侧值。有没有人看到这个问题?

由于

$(function(){   
    boxClone$ = $('#box').clone(true);
    console.log("box offset = ",  $('#box').offset());
    console.log("boxClone offset = ",  boxClone$.offset());

});

2 个答案:

答案 0 :(得分:1)

正如@undefined所说,克隆的元素不在DOM上。

您需要将其插入DOM。然后只有你可以得到偏移量。

$(function(){   
    boxClone$ = $('#box').clone(true).appendTo('body');
    console.log("box offset = ",  $('#box').offset());
    console.log("boxClone offset = ",  boxClone$.offset());

});

see demo

答案 1 :(得分:1)

由于id是唯一的,因此您需要使用新ID将其克隆并将其附加到某处。

$(function(){   
    $('#box').clone().prop({'id':"newId"}).appendTo('body');
    console.log("box offset = ",  $('#box').offset());
    console.log("boxClone offset = ", $('#newId').offset());
});

并添加css

div#box, div#newId { /* ... */ }

演示:JSFiddle