jQuery Tarayıcı - contents() Yöntemi
Örnek
Paragraflardaki tüm metin nodlarını bulur ve bunları kalın etiketlerle sarmalar.
$("p").contents().filter(function(){ return this.nodeType != 1; }).wrap("<b/>");
Tanım ve Kullanım
contents() yöntemi eşleşen eleman kümesindeki her bir elemanın alt nodlarını alır, bunlar metin ve yorum nodlarını da içerir.
Sözdizimi
.contents()
Ayrıntılı Açıklama
DOM eleman kümesi temsil eden jQuery nesnesi verilirse, .contents() yöntemi bu elemanların doğrudan alt nodlarını arama imkanı sağlar ve yeni bir jQuery nesnesi oluşturmak için eşleşen elemanları kullanır. .contents() ve .children() Yöntem benzer, ancak önceki, sonuç jQuery nesnesinde metin düğümleri ve HTML elemanlarını içerir.
.contents() yöntemi, iframe'in ana sayfa ile aynı alanında olması koşuluyla iframe içeriği belgeğini elde etmek için de kullanılabilir.
Aşağıdaki bazı metin düğümlerine sahip <div>yi düşünün, her düğüm iki satır atlama elemanı (<br />) ile ayrılmıştır:
<div class="container"> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <br /><br /> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <br /> <br /> Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. </div>
Ayrıca, metin bloklarını iyi görünümlü paragraflara dönüştürmek için .contents() yöntemini kullanabiliriz:
$('.container').contents().filter(function() { return this.nodeType == 3; ) .wrap('<p></p>') .end() .filter('br') .remove();
Bu kod, öncelikle <div class="container"> içeriğini alır, ardından bu içeriğin metin düğümlerini filtreler ve metin düğümlerini paragraf etiketlerine sarar. Bu, test edilen elemanın .nodeType özelliği ile gerçekleştirilir. Bu özellik, düğüm türünü gösteren sayısal kodlar barındırır; metin düğümleri 3 kodunu kullanır. İçerik bir kez daha filtrelenir, bu sefer <br /> elemanları için, bu elemanlar kaldırılır.