Transmiterea unei variabile într-o alertă

Când codul foo este introdus în .guess , încerc să extrag valoarea din .clicks și să îl transmit într-o alertă. Când încărc pagina cu codul meu curent (de mai jos), alerta citește Correct! Ați ghicit-o în clicuri. . De ce nu este transmisă variabila clicks ?

Mulțumiri

jQuery:

$('.guess').keyup(function() { 
    if ($('.guess').val() == "foo") {
        var clicks = $('.clicks').val();
        alert('Correct! You guessed it in ' + clicks + ' clicks.');
        location.reload();
    }
});

HTML:

<div class="bar">
    

0

    <input type="text" class="guess" />
</div>
0
val() este utilizat numai pentru elementele de intrare. pentru toate celelalte elemente, folosiți html ().
adăugat autor thescientist, sursa

4 răspunsuri

$('.guess').keyup(function() { 
    if ($.trim( this.value ) == "foo") {
        var clicks = $('.clicks').text();
        alert('Correct! You guessed it in ' + clicks + ' clicks.');
        location.reload();
    }
});
0
adăugat

Working demo click here :) http://jsfiddle.net/QSrWs/

please use api: .text()

This will help you to understand the difference: Difference between val() and text()

Val() funcționează pe elementele de intrare (sau orice element cu un atribut value?)   iar textul() nu va funcționa pe elementele de intrare. Val() primește valoarea lui   elementul de intrare - indiferent de tip. Text() primește textul interior   (nu HTML) a tuturor elementelor potrivite:

Sper că acest lucru vă ajută,

cod

$('.guess').keyup(function() { 
    if ($('.guess').val() == "foo") {
        var clicks = $('.clicks').text();//$('.clicks').val();
        alert('Correct! You guessed it in ' + clicks + ' clicks.');
        location.reload();
    }
});​
0
adăugat

.val() is primarily used for getting the value of form input elements.

Cred că doriți să utilizați $ (".clicks"). Text() , care va returna "0" .

0
adăugat
$('.guess').keyup(function() { 
    if ($('.guess').val() == "foo") {
        var clicks = $('.clicks').text();//.text() instead of .val()
        alert('Correct! You guessed it in ' + clicks + ' clicks.');
        location.reload();
    }
});
0
adăugat