Come posso ottenere un valore di <span> usando jQuery?


149

Questo è di base.

Come ottengo il valore "Questo è il mio nome" dell'intervallo sopra indicato?

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

Risposte:


299

Penso che questo dovrebbe essere un semplice esempio:

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

o

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

1
Dove trovo quelle funzioni jQuery?
— Felipe Barreiros,

25
Penso che sia importante quando mostriamo queste due funzioni che non confondiamo i nuovi programmatori suggerendo che fanno la stessa cosa, quando non lo fanno (anche se in questo esempio sembrerà così). È importante notare che .text()HTML codificherà tutti i caratteri che trova, mentre .html()non codificherà alcun carattere.
— VoidKing,

Questo può essere realizzato con più span con la stessa classe?
— Matthew Woodard,

Mi sono imbattuto in questo tentativo di capire tspan per lavorare con IE. Ho scoperto che devi usare .text () con tspan e non .html (). Non so perché e potrebbe non essere il caso di tutti, ma è stato risolto in IE quando ho usato .text ().
— Kalel Wade,

@MatthewWoodard $('.class').each(function() { $(this).html() });; perché $('.class').html()restituirà il valore .html () per il primo elemento
— tomsihap


7

Supponendo di volerlo leggere id = "item1", è necessario

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


5

Dato che non hai fornito un attributo per il valore "item", presumo che venga utilizzata una classe:

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

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

Assicurati di attendere il caricamento del DOM per utilizzare il tuo codice, in jQuery usi la ready()funzione per questo:

<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
hai cambiato la domanda! La tua risposta è giusta per la tua domanda, stava specificando l'id non un nome di classe
— Lewis

bene, se vedi il primo commento sotto il suo nome noterai che non ha scritto alcun attributo, era <div 'item1'>, a quanto pare ho sbagliato.
— Francisco Aquino,

2

In javascript non useresti document.getElementById('item1').innertext?





0

MOLTO IMPORTANTE Ulteriori informazioni sulla differenza tra .text () e .html ():

Se il selettore seleziona più di un elemento, ad esempio hai due campate in questo modo <span class="foo">bar1</span> <span class="foo">bar2</span> ,

poi

$('.foo').text();accoda i due testi e te lo dà; mentre

$('.foo').html(); ti dà solo uno di quelli.


0

Puoi usare id in span direttamente nel tuo html.

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

Quindi il tuo codice jQuery sarebbe

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

Qualcuno mi ha aiutato a controllare gli errori e ha scoperto che ha usato val () invece di text (), non è possibile usare la funzione val () in span. Così

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

restituirà null.


-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>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.