$ (this) .val () nie działa, aby pobrać tekst z zakresu za pomocą jquery


97

Podając ten html, chcę pobrać z niego „August” po kliknięciu:

<span class="ui-datepicker-month">August</span>

próbowałem

$(".ui-datepicker-month").live("click", function () {
    var monthname =  $(this).val();
    alert(monthname);
});

ale nie wydaje się działać

Odpowiedzi:


210

Zamiast .val()używać .text(), jak to:

$(".ui-datepicker-month").live("click", function () {
    var monthname =  $(this).text();
    alert(monthname);
});

Lub w jQuery 1.7+ używaj on()jako liveprzestarzałe:

$(document).on('click', '.ui-datepicker-month', function () {
    var monthname =  $(this).text();
    alert(monthname);
});

.val()dotyczy elementów typu wejściowego (w tym obszarów tekstowych i list rozwijanych), ponieważ masz do czynienia z elementem z treścią tekstową, użyj .text()tutaj.


3
UWAGA: .live()jest przestarzałe w wersji 1.7 i usunięte w wersji 1.9+
Darren

Zarówno .html (), jak i .text () działały z moim elementem span.
lft93ryt


8

Aby pobrać tekst automatycznie wygenerowanej wartości zakresu, wykonaj następujące czynności:

var al = $("#id-span-name").text();    
alert(al);

5

-Żadna z powyższych konsekwentnie nie działała dla mnie. Oto rozwiązanie, które wypracowałem, które działa konsekwentnie we wszystkich przeglądarkach, ponieważ wykorzystuje podstawowe funkcje. Mam nadzieję, że to pomoże innym. Korzystanie z jQuery 8.2

1) Pobierz obiekt jquery dla „span”. 2) Pobierz obiekt DOM z góry. Używanie jquery .get (0) 3) Używając innerText obiektu DOM pobierz tekst.

Oto prosty przykład

var curSpan = $(this).parent().children(' span').get(0);
var spansText = curSpan.innerText;

HTML

<div >
<input type='checkbox' /><span >testinput</span> 
</div>

4

Możesz użyć, .html()aby pobrać zawartość spani lubdiv elementów.

przykład:

    var monthname =  $(this).html();
    alert(monthname);

3

No to ruszamy:

$(".ui-datepicker-month").click(function(){  
var  textSpan = $(this).text();
alert(textSpan);   
});

Mam nadzieję, że to pomoże;)


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.