2014-04-10 4 views
3

I가 다음 코드hasClass는 항상 false를 돌려

<form> 
    <input type="text" class="add-new"> 
    <input type="submit" class="hidden" id="add-new" value="Add new"> 
<form> 

나는 항상를 입력하지만 내가 입력에 초점을 결코 경우

$("#add-new").on('click', function(event){ 
    event.preventDefault(); 
    if ($(this).val() === "Add"){ 
     $(this).val("Cancel");    
    }else{ 
     $(this).val("Add"); 
    } 
    console.log($(".add-new").hasClass('hidden')); // this is always false why??   

    $(".add-new").val("").toggleClass('hidden'); 
    if ($(".add-new").hasClass('hidden') === false) { 
     $(".add-new").focus();    
    } 
}); 

에이 코드와 JS 상자. 왜 내가 그것을 토글 한 이후로 항상 거짓인가? chorme의 커맨드 라인에서 잘 작동하지만 초점은 여전히 ​​작동하지 않습니다. 내 PC 앞에 9 시간 이상 있었으니 제 자바 스크립트 코드에 문제가 생겼습니까?

+5

작품 -> http://jsfiddle.net/4wZGd/ – adeneo

+0

내가 참/거짓을 교류뿐만 아니라 그것을 시도하고 얻을 내 콘솔에. –

+2

페이지를 새로 고침하고 있습니까? 당신은'event.preventDefault()'를 가지고 있으므로, 그렇게해서는 안됩니다. –

답변

0

어떤 입력을 찾으시겠습니까? 클래스 .add-new이 점 console.log($(".add-new").hasClass('hidden')); 입력에서 수업이없는 .hidden

$(".add-new").val("").toggleClass('hidden'); // Now it has 
if ($(".add-new").hasClass('hidden') === false) { // And it will be always false because now it has .hidden 
    $(".add-new").focus();    
} 
나를 위해 완벽하게 정상적으로
관련 문제