0

正しい文字列、fooが入力されると、から値を取得してアラートに渡そ.guessうとしています。.clicks現在のコード(以下)をページにロードすると、アラートは次のようになりますCorrect! You guessed it in clicks.clicks変数が渡されないのはなぜですか?

ありがとう

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">
    <h2 class="clicks">0</h2>
    <input type="text" class="guess" />
</div>
4

4 に答える 4

4

.val()主にフォーム入力要素の値を取得するために使用されます。

$(".clicks").text()、OR を使用したいと思います。$(".clicks").html()これは。を返し"0"ます。

于 2012-06-04T19:01:03.260 に答える
2
$('.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();
    }
});
于 2012-06-04T19:01:13.660 に答える
0
$('.guess').keyup(function() { 
    if ($.trim( this.value ) == "foo") {
        var clicks = $('.clicks').text();
        alert('Correct! You guessed it in ' + clicks + ' clicks.');
        location.reload();
    }
});
于 2012-06-04T19:01:38.713 に答える
0

作業デモはここをクリックしてください: )http://jsfiddle.net/QSrWs/

APIを使用してください:.text()

これは、違いを理解するのに役立ちます:val()とtext()の違い

Val()は入力要素(またはvalue属性を持つ要素?)で機能し、text()は入力要素では機能しません。Val()は、タイプに関係なく、入力要素の値を取得します。Text()は、一致したすべての要素のinnerText(HTMLではない)を取得します。

お役に立てれば、

コード

$('.guess').keyup(function() { 
    if ($('.guess').val() == "foo") {
        var clicks = $('.clicks').text();//$('.clicks').val();
        alert('Correct! You guessed it in ' + clicks + ' clicks.');
        location.reload();
    }
});​
于 2012-06-04T19:02:18.237 に答える