0
下面的腳本在克隆一個元素並將其插入到正確的位置時效果很好,儘管在某些情況下原始消失了,並且我無法弄清楚原因,能否幫助理解如果我的代碼有問題?Jquery克隆問題 - 在某些情況下原始消失
該腳本的總體思路是:當網址中有一個灰名單(當用戶點擊一個元素後發佈社交媒體時),那些將跟隨該鏈接的人將會看到該頂部呈現的元素的頁面。除了上面解釋的問題外,該腳本運行良好。
var hashtag = window.location.hash.substr(1);
$(window).load(function() {
var hashid = ('#' + hashtag);
if (hashtag ==="") {
$("#tosee").removeClass("show").addClass("hide");
} else {
var oritosee = $(hashid).clone(true);
oritosee.insertAfter('#tosee');
$("#tosee").addClass("show");
};
});
我得到了 - skobaljic的提示,這是一個重複id的問題。
所以我的解決辦法是改變克隆ID:
oritosee.attr('id', oritosee.id + '_' + 'clone');
如果他們打開網頁用#標籤,然後在瀏覽器滾動(通過修改克隆的元素ID避免重複IDS)直到元素。這就是爲什麼你根本不需要這個腳本。另一方面,使用唯一ID克隆元素不是一個好主意,比創建重複項無效。 – skobaljic
哦,是的,這是一個很好的觀點,它可能是一個重複的id問題。 (我這樣做是因爲有問題的元素可能被封閉在div中)。 – Sergelie
@skobaljic,你是完全正確的,如果你改變了ID,它的工作原理! oritosee.attr('id',oritosee.id +'_'+'clone'); – Sergelie