JQuery ile bir DOM öğesi nasıl yok edilir?


Yanıtlar:


194

$target.remove();Aradığınız ne var?

https://api.jquery.com/remove/


75
Elbette bu yalnızca görünür belgeden kaldırılır. JavaScript'ten düğüme, $ target değişkeninin kendisi gibi başka başvurular varsa, nesne şimdilik çöp toplayıcıdan kaçacaktır. Eğer DESTROY istiyorsanız bunu da tüm referansları kaybetmek zorunda. Yine de bir DOM öğesini neden İSTEMEK istediğinizden emin değilim. Belki $ hedefinden nefret ediyorsun. Kötü $ hedef, sana ne yaptı?
bobince

52
$ hedef yalnızken naziktir, ancak 100.000 klonlanmış arkadaşının etrafında kötü olur.
Sebastián Grignoli

2
Will .empty()benzer bir etkiye sahip?
Saurabh Nanda

3
@SaurabhNanda - Empty, nesnenin içeriğini kaldırır, ancak nesnenin kendisini kaldırmaz (veya yok etmez).
Luke

46

İsterseniz tamamen yok etmek hedefi, sen birkaç seçenek var. Önce nesneyi yukarıda açıklandığı gibi DOM'dan kaldırabilirsiniz ...

console.log($target);   // jQuery object
$target.remove();       // remove target from the DOM
console.log($target);   // $target still exists

Seçenek 1 - Ardından hedefi boş bir jQuery nesnesiyle değiştirin (jQuery 1.4+)

$target = $();
console.log($target);   // empty jQuery object

Seçenek 2 - Veya özelliği tamamen silin (başka bir yere başvurursanız hataya neden olur)

delete $target;
console.log($target);   // error: $target is not defined

Daha fazla okuma: boş jQuery nesnesi hakkında bilgi ve silme hakkında bilgi


3
Neden delete $targetçalışmaz: perfectionkills.com/understanding-delete/#misconceptions Neden $target=nullçalışmıyor?
LeeGee

@LeeGee - Silme işleminin neden jQuery nesneleri için çalışmadığını açıklamak için gönderinizi özetleyebilir misiniz? Sonunda console.log'a ($ target) baktığımızda neden çalışıyor gibi görünüyor? Teşekkür ederim.
Luke

Çok ayrıntılı bulduğum makaleden daha iyi açıklayamam.
LeeGee

Kayıt için, bu konsolda çalışır, çünkü konsol JS'yi değerlendirme kapsamında değerlendirir; "Doğal" kapsamlardaki değişkenler silinebilir. $target=nullBunun yerine kullanın . Daha hızlıdır ve dahili tarayıcı optimizasyonlarıyla uğraşmaz.
bendman

1
Sil iyidir. Bu sadece bloğun JS motoru tarafından optimize edilmeyeceği anlamına gelir. Çoğu durumda, bu tamamen alakasızdır. Sorun olduğunda, silme özelliğini kullanmanın yollarını ararsınız. Önce değil.
Charlie Martin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.