$ (this) .val () funktioniert nicht, um mit jquery Text aus der Spanne abzurufen


97

Wenn ich dieses HTML gebe, möchte ich "August" daraus ziehen, wenn ich darauf klicke:

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

Ich habe es versucht

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

scheint aber nicht zu funktionieren

Antworten:


210

Statt .val()Verwendung .text(), wie folgt aus :

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

Oder verwenden Sie in jQuery 1.7+ on()wie livefolgt:

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

.val()Dies gilt für Elemente vom Typ Eingabe (einschließlich Textbereiche und Dropdowns), da Sie es mit einem Element mit Textinhalt zu tun .text()haben.


3
HINWEIS: .live()ist in 1.7 veraltet und in 1.9+ entfernt
Darren

Sowohl .html () als auch .text () funktionierten für mein span-Element.
lft93ryt


8

Gehen Sie folgendermaßen vor, um Text eines automatisch generierten Bereichswerts abzurufen:

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

5

-Keine der oben genannten hat konsequent für mich funktioniert. Hier ist die Lösung, die ich ausgearbeitet habe und die in allen Browsern konsistent funktioniert, da sie grundlegende Funktionen verwendet. Hoffe das kann anderen helfen. Verwenden von jQuery 8.2

1) Holen Sie sich das jquery-Objekt für "span". 2) Holen Sie sich das DOM-Objekt von oben. Verwenden von jquery .get (0) 3) Verwenden von innerText des DOM-Objekts, um den Text abzurufen.

Hier ist ein einfaches Beispiel

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

HTML

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

4

Sie können verwenden .html(), um Inhalte von spanund / oder divElementen abzurufen.

Beispiel:

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

3

Auf geht's:

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

Ich hoffe es hilft;)


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.