hasClass即使切换它也总是返回false

时间:2014-04-10 17:18:12

标签: javascript jquery

我有以下代码

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

以及带有此代码的js

$("#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();            
    }
});

虽然我总是输入,但如果我从不关注输入框。为什么我切换它总是假的?从chorme的命令行工作很好,但焦点仍然没有奏效。请问,因为我的电脑前已经超过9小时,您的javascript代码是否有任何问题?

1 个答案:

答案 0 :(得分:0)

您想要找到哪个输入? 此时console.log($(".add-new").hasClass('hidden'));.add-new的输入没有类.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();            
}