document.getElementById("FirstDiv").clear()
gibi bir işlev var mı?JavaScript kullanarak HTML'deki bir alt düğümü nasıl kaldırabilirim?
cevap
bellek sızıntılarını önlemek için, Kaldırmadan önce düğümde ayarladığınız herhangi bir olay işleyicileri kaldırmak zorunda - Bunu yapmak için çeşitli yollar vardır, ancak aşağıdaki en basit olurdu. Eğer birini kullanmıyorsanız, Açıkçası
myChildNode.parentNode.removeChild(myChildNode);
:
Zaten kaldırmak istediğiniz çocuk düğüme bir kolu varsa, bir referansı tutan bir JavaScript var yani başkaları tarafından ifade edildiği üzere: zaten bunu sayısız kütüphaneler, bu dışarı soyut bir işlev oluşturmak isteyeyim:
function removeElement(node) {
node.parentNode.removeChild(node);
}
DÜZENLEME varsa herhangi bir olay işleyicileri kablolarla kaldırdığınız düğüme, JavaScript yorumlayıcısının sızıntı belleğinin zayıf uygulamalarına rağmen, kaldırılmakta olan düğümün son başvurusundan önce bunların bağlantısını kesmeniz gerekir.
"Kötü uygulamalar" ile. IE6, IE7, IE8 veya başka bir şey mi kastediyorsunuz? (özellikle, iyi tarayıcılar da bellek sızdırıyor mu? Şu anda IE 6-7 için artık umurumda değil.) –
@CamiloMartin - bu günlerde özelliklerden emin değilim, ama hatırladığım kadarıyla, 'iyi' tarayıcıları Böyle şeyleri izlemek ve ele almak gerekiyor. YMMV –
Eh, bu mantıklı. –
Düğümün .RemoveNode yöntemini veya ana düğümün .RemoveChild yöntemini kullanabilmeniz gerekir. Eğer div temizlemek ve tüm alt düğümleri kaldırmak isterseniz
removeNode yalnızca IE'dir. –
, sen bırakabilir:
var mydiv = document.getElementById('FirstDiv');
while(mydiv.firstChild) {
mydiv.removeChild(mydiv.firstChild);
}
Muhtemelen bu gibi şeyler yapmak için bir JavaScript kütüphanesi kullanmalıdır.
Örneğin, MochiKit'in bir işlevi removeElement ve jQuery'nin remove vardır.
Sen orijinal soruyu cevaplamak için IE
yılındaIE8 de sızıyor mu? –
bir jQuery çözüm
HTML
<select id="foo">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
JavaScript
// remove child "option" element with a "value" attribute equal to "2"
$("#foo > option[value='2']").remove();
// remove all child "option" elements
$("#foo > option").remove();
Referanslar:
Attribute Equals Selector [name=value]
belirli bir değere tam olarak eşit bir değere ile belirtilen özniteliği elemanları seçer.
Child Selector (“parent > child”)
.empty benzertüm doğrudan alt öğeleri seçer elemanlarının "çocuk" "ebeveyn" tarafından belirtilen tarafından belirtilen
(), .remove() yöntem, öğeleri DOM'den çıkarır. Biz istediğimizde öğenin kendisini ve içindeki her şeyi kaldırmak için .remove() kullanın. 'a ek olarak, öğelerin kendileri, tüm olayları ve ile ilişkili jQuery verileri öğeler kaldırılır.
şu kodu kullanın:
//for Internet Explorer
document.getElementById("FirstDiv").removeNode(true);
//for other browsers
var fDiv = document.getElementById("FirstDiv");
fDiv.removeChild(fDiv.childNodes[0]); //first check on which node your required node exists, if it is on [0] use this, otherwise use where it exists.
targetNode.remove()
Bu 2015 sonlarına itibariyle W3C tarafından tavsiye edilmektedir ve vanilya JS olduğunu. Önceki yöntemden daha iyi/daha temiz. Uyumluluk geriye emin olmak için bir polyfill gerekiyorsa
document.getElementById("FirstDiv").remove();
: kullanımı durumda İçin
p üst düğüm ve c alt düğüm
if (!('remove' in Element.prototype)) {
Element.prototype.remove = function() {
if (this.parentNode) {
this.parentNode.removeChild(this);
}
};
}
var p=document.getElementById('childId').parentNode;
var c=document.getElementById('childId');
p.removeChild(c);
alert('Deleted');
olduğu
parentNode bir olduğunu Üst referansı içeren JavaScript değişkeni
Kolay anlaşılır
- 1. Javascript - çocuk düğümü sayısı
- 2. PowerShell kullanarak XML'deki bir düğümü nasıl yorumlayabilirim?
- 3. Tanımlanmamış veya javascript işlevini nasıl kaldırabilirim?
- 4. Görsel javascript kitaplığında, düğümü düğümden nasıl alabilirim?
- 5. Belirli bir alt düğümde eksik olan XML düğümü nasıl bulunur?
- 6. Bir apache2 modülünü nasıl kaldırabilirim?
- 7. IIS özel üstbilgisini Powershell kullanarak nasıl kaldırabilirim?
- 8. C# XmlTextWriter kullanarak BOM'u nasıl kaldırabilirim?
- 9. ObjectContentManager kullanarak bir düğümün altında bir düğümü nasıl ekleyebilirim?
- 10. Yukarıya eklenen altbilgide arama çubuğunu nasıl kaldırabilirim?
- 11. Bir belgeyi diziden nasıl kaldırabilirim?
- 12. Rayları konsol kullanarak tablodaki bir sütunu nasıl kaldırabilirim?
- 13. Ana sayfamdaki filigranı nasıl kaldırabilirim?
- 14. kullanarak bir alt dizin
- 15. Bir dosyayı tamamen bir depodan nasıl kaldırabilirim?
- 16. Docker-kompozisyonunu nasıl kaldırabilirim?
- 17. Eclipse Project Explorer'da JAX-WS Web Hizmetleri düğümü nasıl kaldırılır?
- 18. Bu ifadeyi nasıl kaldırabilirim?
- 19. metin düğümü
- 20. Anaconda'dan bir URL kanalını nasıl kaldırabilirim?
- 21. Git-svn'deki boş dizinleri nasıl kaldırabilirim?
- 22. Bir JavaScript tanımlı alt üst öğenin içindeki JavaScript öğelerini güncelle
- 23. API kullanarak bir kapsayıcıdan Swarm düğümü IP adresini al?
- 24. Görüntü düğümü nasıl yeniden ölçeklendirilir?
- 25. XML için düğümü NOACT-SQL kullanarak ekleyin.
- 26. Neo4j - Kimlikler kullanarak birden çok düğümü eşleştirin
- 27. Tekli bir yayın fasulyesini ApplicationContext'ten nasıl kaldırabilirim?
- 28. Kullanılamayan bir nuget paketini nasıl kaldırabilirim?
- 29. Yüklenen bir sınıfı classloader'dan nasıl kaldırabilirim?
- 30. Git kullanan herkesin katkılarını TÜM kullanarak nasıl kaldırabilirim?
'node.remove() bunu yapmanın modern yoludur. document.getElementById ("FirstDiv"). remove(); 'kullanım durumunuz için – Gibolt