2009-08-11 24 views
5

benim htmlJQuery Alt Seçici soru

<div id="x"> 
    <div id="x1"> 
    some text 
    <div>other text</div> 
    </div> 
    <div id="x2">just text</div> 
<div> 

çağrım

herhangi jquery seçici, 1 veya daha fazla öğe olabilir daha bu eleman vardır:

var x = $("#x"); 

şimdi İHTİYACINIZ (bu Bu, sadece ilk DIV öğeleri arasında gezinmek için değil, çocuk sayılarını değil, sekmeler gibi iç öğeleri keşfedecek bir eklentidir. Ben

$.each($($("div"), x), function() { 
    alert($(this).html()); 
}); 

gösterileri ... çalışıyorum: 1. Bazı textother metin 2. diğer metin 3. sadece metin

$.each($($("div"), x).siblings(), function() { 
    alert($(this).html()); 
}); 

gösterir: 1. sadece metin 2. Bazı tekstüre metni

Bu en yaklaşık değerdir, ancak doğru sırada ihtiyacım var. herhangi bir öneri ? teşekkürler

ps. çünkü bu bir eklenti yapamam.

$("#x", "div....") 

Bu

#(newselector, x) 

cevap

10

Eğer o zaman var x belirli seçici tanımlanan varsayarak düşünüyorum tüm seçicileri ile çalışması gerekir çünkü $("#x > div") kullanamıyorsanız:

+0

İhtiyacım olan bu. Teşekkürler. Asla önce $(). –

1

kullanın yapmak gerekir: En seçici olarak

$("#x > div") 

- sadece kimliği x olan div doğrudan çocukları seçecektir.

+0

Merhaba dostum, ben $ ("# x" cant'kullanma söyledi

var x = $('#x'); // this will select only the direct div children of x whatever the x is x.children('div'); 
) çünkü bu bir eklentidir ve $ ("# x") herhangi bir seçici olabilir, $ ("*") olabilir. $ (selector, jqueryobj) teşekkürler. –

+0

@Rodrigo: Cevap hala ">'. Bunu, $ ('> div', jqueryobj) ' –

1

Bu yöntem size bir div tüm iç metnini verecektir:

x.children('div').each(function() { 
    alert($(this).text()); 
}); 

Eğer tüm birden çocuk div birleştirilmiş metni istemiyorsanız, yalnızca doğrudan metin düğümü erişebilir her biri:

x.children('div').each(function() { 
    alert(this.childNodes[0].nodeValue); 
}); 

Not: varsayılarak xvar x = $('#x') tarafından tanımlanan bir JQuery elemanıdır.

+0

+1 gibi diğer şekillerde kullanabilirsiniz - Bu çok işe yarayacak –