0
什麼是將div附加到dom的正確方法,併爲以後操作dom保留一個句柄?並刪除它的情況下,該參考也會被刪除?如果不是我怎麼辦?jquery append元素並保留參考以便稍後將其刪除
這是我提出的一個示例代碼,請讓我知道您的意見,以及是否有更好的方法來做到這一點。
請注意,我保持數組中的引用,因爲許多元素可以操縱元素。
var layovers=[];
function ajaxMe($e){
//do some ajax call
var lay=layoverThis($e);
layovers[lay].remove(); //does this remove added element from dom ? does it unset layouvers[lay] too ?
}
function layoverThis($e){
var p=layover.push($('<div class="overlay" ><span><i class="fa fa-spinner fa-spin"/>loading</span></div>')) - 1;
$e.append(layover[p]);
return p;
}
我能想到的最接近的例子就像是在windows操作系統中打開一個文件夾。
當您打開一個文件夾時:一個新的窗口打開到您的桌面,同時還有一個任務欄選項卡添加鏈接到附加到桌面的同一窗口,允許系統操縱窗口(關閉還原最小化等..),那麼我如何在javasript中做到這一點。
我的問題是如何使這種行爲的方式是靈活的,而不是哈克或內存浪費。
嗯,這是不錯的選擇,允許用戶刪除元素,但我在尋找更多靈活的解決方案,也可以讓我使用js來處理這個dom。 – Zalaboza
確定酷 - 想要更新一秒。 –
嗨Momen,你還有困難嗎?這個解決方案是否會爲你工作,還是你想使用ID的/ etc更全面的解決方案?我刪除了array.push/etc,因爲您只需在輸入的psudo類中選擇並獲取仍在DOM中的元素數組。它比實際上試圖跟蹤那裏的東西和被刪除的東西要容易得多。 –