JQuery kullanarak bir <span> değerini nasıl alabilirim?


149

Bu temel.

Yukarıdaki açıklığın 'Bu benim adım' değerini nasıl alabilirim?

<div id='item1'>
<span>This is my name</span>
</div>

Yanıtlar:


299

Bunun basit bir örnek olması gerektiğini düşünüyorum:

$('#item1 span').text();

veya

$('#item1 span').html();

1
Bu jQuery işlevlerini nerede bulabilirim?
Felipe Barreiros

25
Bu iki işlevi gösterirken, yeni kodlayıcıları aynı şeyi yaptıklarını öne sürerek karıştırmamamızın önemli olduğunu düşünüyorum, yapmadığı zaman (bu örnekte öyle görünecek olsa da). .text()HTML'nin bulduğu karakterleri kodlayacağını, ancak karakterleri kodlamayacağını unutmamak önemlidir .html().
VoidKing

Bu, aynı sınıfa sahip birden çok açıklıkla gerçekleştirilebilir mi?
Matthew Woodard

IE ile çalışmak için tspan anlamaya çalışırken bu tökezledi. .Html () ile değil, tspan ile .text () kullanmanız gerektiğini buldum. Emin değilim ve herkes için durum böyle olmayabilir ama .text () kullandığımda IE'de düzeltildi.
Kalel Wade

@MatthewWoodard $('.class').each(function() { $(this).html() });; çünkü $('.class').html()ilk eleman için .html () değerini döndürür
tomsihap


7

İd = "item1" okumayı düşündüğünüzü varsayarsak,

$('#item1 span').text()


5

'İtem' değeri için bir öznitelik sağlamadığınız için, bir sınıfın kullanıldığını varsayıyorum:

<div class='item1'>
  <span>This is my name</span>
</div>

alert($(".item span").text());

DOM'un kodunuzu kullanmasını beklediğinizden emin olun, jQuery'de ready()bunun için işlevi kullanırsınız :

<html>
 <head>
  <title>jQuery test</title>
  <!-- script that inserts jquery goes here -->
  <script type='text/javascript'>
    $(document).ready(function() { alert($(".item span").text()); });
  </script>
</head>
<body>
 <div class='item1'>
   <span>This is my name</span>
 </div>
</body>


1
soruyu değiştirdin! Cevabınız sorunuz için doğru, kimliği bir sınıf adı değil
Lewis

Eğer onun adı altında ilk yorumu görürseniz, bir özellik yazmadığını fark edeceksiniz, <div 'item1'>, görünüşe göre yanlış tahmin ettim.
Francisco Aquino

2

Javascript'te kullanmaz mıydınız document.getElementById('item1').innertext?





0

ÇOK ÖNEMLİ .text () ve .html () arasındaki fark hakkında ek bilgi:

Seçiciniz birden fazla öğe seçerse, örneğin bunun gibi iki açıklığınız vardır <span class="foo">bar1</span> <span class="foo">bar2</span> ,

sonra

$('.foo').text();iki metni ekler ve size verir; buna karşılık

$('.foo').html(); size bunlardan sadece birini verir.


0

Doğrudan HTML'nizde span in id kullanabilirsiniz.

<span id="span_id">Client</span>

O zaman jQuery kodunuz

$("#span_id").text();

Bazıları hataları kontrol etmeme yardımcı oldu ve text () yerine val () kullandığını, span () işlevini span'da kullanmak mümkün olmadığını buldu. Yani

$("#span_id").val();

null değerini döndürür.


-2
<script>
    $(document).ready(function () {

            $.each($(".classBalence").find("span"), function () {
            if ($(this).text() >1) {
                $(this).css("color", "green")

            }
            if ($(this).text() < 1) {
                $(this).css("color", "red")
                $(this).css("font-weight", "bold")
            }
        });

    });
    </script>
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.