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.