jQuery 选择器 .not() 不工作

jQuery Selector .not() isn't working

我不明白为什么 .not() 选择器不影响验证。这是我的 HTML 表格:

<input name="Title" id="Title" type="text" />
<div id="ErrorTitle" class="hiddenbox"></div>

<input name="Text" id="Text" type="text" />
<div id="ErrorText" class="hiddenbox"></div>

<input name="Price" id="Price" type="text" />
<div id="ErrorPrice" class="hiddenbox"></div>

这是 jquery:

if($('#Title').val() == '')
{
    $('#Title').focus();
    ErrorBox('Please enter title', 'ErrorTitle'); // Write message in .hiddenbox
    $('.hiddenbox').not('#ErrorTitle .hiddenbox').hide();
}
else if($('#Text').val() == '')
{
    $('#Text').focus();
    ErrorBox('Please enter text', 'ErrorText'); // Write message in .hiddenbox
    $('.hiddenbox').not('#ErrorText .hiddenbox').hide();
}
else if($('#Price').val() == '')
{
    $('#Price').focus();
    ErrorBox('Please enter price', 'ErrorPrice'); // Write message in .hiddenbox
    $('.hiddenbox').not('#ErrorPrice .hiddenbox').hide();
}

提交表单时不会显示任何错误消息! 我错了吗?!

我认为你的选择器有误:

$(".validate").on('click', valid);
        function valid() {

            if($('#Title').val() == '')
            {

                $('#Title').focus();
                $("#ErrorTitle.hiddenbox").text("errortitle"); // Write message in .hiddenbox
                $("#ErrorTitle.hiddenbox").show();
                $('.hiddenbox').not('#ErrorTitle.hiddenbox').hide();
            }
            else if($('#Text').val() == '')
            {
                $('#Text').focus();
                $("#ErrorText.hiddenbox").text("errortext"); // Write message in .hiddenbox
                $("#ErrorText.hiddenbox").show();
                $('.hiddenbox').not('#ErrorText.hiddenbox').hide();
            }
            else if($('#Price').val() == '')
            {
                $('#Price').focus();
                 $("#ErrorPrice.hiddenbox").text("errorprice"); // Write message in .hiddenbox
                $("#ErrorPrice.hiddenbox").show();
                $('.hiddenbox').not('#ErrorPrice.hiddenbox').hide();
            }
        }

应该可以解决问题。 这是fiddle:http://jsfiddle.net/BenoitNgo/hm128k63/