2013-04-29 16 views
11

ilk yayının metnini almak için span öğesinin ilk değerini farklı li öğeleri altında almaya çalışıyorum. şöyle My HTML biçimlendirme ... jQuery her li

<div class="mipartrel"> 
    <div class="k-multiselect-wrap k-floatwrap"> 
     <ul role="listbox" unselectable="on" class="k-reset"> 
      <li class="k-button"> 
       <span>bat</span> 
       <span class="k-icon k-delete">delete</span> 
      </li> 
      <li class="k-button"> 
       <span>ball</span> 
       <span class="k-icon k-delete">delete</span> 
      </li> 
     </ul> 
    </div> 
</div> 
Bütün span elemanlarının metnini almak için aşağıdaki jQuery kodu kullanılan

...

var getdata=$('.mipartrel ul li span').first().text(); 

... ama sadece alıyorum değer "bat". Her her li arasındaki her değere ihtiyacım var. kapsamlarını almak için

var getdata = $('.mipartrel ul li').find('span:first').text(); 
+0

: // api .jquery.com/jQuery.each/ – Darshan

+0

Bu var getdata = $ ('. mipartrel ul li span') 'u deneyin first(). html(); – visnu

cevap

13

first yöntem yalnızca ilk eşleşti elemanını döndürür sen find yöntemi kullanabilirsiniz Ebeveynlerinin ilk çocuğu:

var getdata = $('.mipartrel ul li span:first-child').text(); 

Demo: http://jsfiddle.net/Guffa/38NN5/

text yöntem tek bir dize olarak bütün unsurlarından metni alacak. Eğer bir dizi olarak bunu isterseniz, ayrı ayrı her metni almak gerekir: Burada

var getdata = $('.mipartrel ul li span:first-child').map(function(){ 
    return $(this).text(); 
}).get(); 
+0

Teşekkürler. Bu çalıştı ve aynı zamanda değerler istediğim tam olarak virgülle ayrıldı Teşekkürler – user1001176

+0

@ user1001176: Sonuç, bir dizidir, virgülle ayrılmış bir dizge değil. Diziyi bir dizeye dönüştürürseniz, dizeleri dizilerden virgülle ayrılmış bir dize olarak döndürür. – Guffa

+0

@Guffa bunu temizlediğinden dolayı teşekkürler :) Bu yüzden bu topluluğa bayılıyorum o kadar çok – user1001176

4

Kullanım first-child seçici:

var textArray = $('.mipartrel ul li').find('span:first').map(function(){ 
    return $(this).text(); 
}).get(); // ["bat", "ball"] 

var textString = textArray.join(); // "bat, ball" 

http://jsfiddle.net/s797E/

Veya:

-1

döngü kullanarak öğeleri almak için jsfiddle olduğunu

bu http göz atabilirsiniz
$('ul.k-reset li').each(function(){ 
     var current = $(this).find('span:first'); 
     alert(current.text()); 
    }); 
İlgili konular