2012-06-04 2 views
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> 
+2

발(). 다른 모든 요소의 경우 html()을 사용하십시오. – thescientist

답변

4

.val() 주로 폼 입력 요소의 값을 얻기 위해 사용된다.

나는 "0"을 반환 할 $(".clicks").text()을 사용하려고한다고 생각합니다. 여기

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(); 
    } 
}); 
0
$('.guess').keyup(function() { 
    if ($.trim(this.value) == "foo") { 
     var clicks = $('.clicks').text(); 
     alert('Correct! You guessed it in ' + clicks + ' clicks.'); 
     location.reload(); 
    } 
}); 
0

근무 데모 클릭 : http://jsfiddle.net/QSrWs/

사용하십시오 API : (Difference between val() and text()

발 : 이것은 당신이 차이를 이해하는 데 도움이 될 것입니다 .text()

)는 입력 요소 (또는 임의의 엘레멘트 value 속성을 가진 nt?) 및 text()는 입력 요소에서 작동하지 않습니다. Val()은 유형에 관계없이 입력 요소 인 의 값을 가져옵니다. 텍스트() 얻을 일치하는 모든 요소의 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(); 
    } 
});​