jquery.validate错误放置

jquery.validate错误放置,jquery,Jquery,我的CSS知识有点有限 当右div中出现错误时,是否要突出显示左div中的标签 messages: { userID: "" }, errorElement: "span", errorPlacement: function(error, element) { element.siblings("label").append(error); }, highlight: function(element)

我的CSS知识有点有限

当右div中出现错误时,是否要突出显示左div中的标签

messages: { 
    userID: ""

}, 
errorElement: "span",     
    errorPlacement: function(error, element) {         
    element.siblings("label").append(error);     
    },     
    highlight: function(element) {         
    $(element).parent().children("div.left label").addClass("error");    
    },     
    unhighlight: function(element) {         
    $(element).parent().children("div.left label").addClass("error");     
    } 


 <div class="left">
 <label for="userID">Username:</label> <br />
 </div>
<div class="right">    
<input  type="text" name="userID" id="userID" onkeyup="nospaces(this)" maxlength="15" onBlur="checkUID(this)" onKeyPress="hideWarning()">
</div>
消息:{
用户ID:“
}, 
错误元素:“span”,
errorPlacement:函数(错误,元素){
元素。同级(“标签”)。追加(错误);
},     
突出显示:函数(元素){
$(元素).parent().children(“div.left标签”).addClass(“错误”);
},     
取消高亮显示:函数(元素){
$(元素).parent().children(“div.left标签”).addClass(“错误”);
} 
用户名:
目前“没有”发生,没有错误,没有突出显示。我不确定如何修改errorPlacement脚本以符合要求。Thx非常适合mch。

变化

$(element).siblings("label").addClass("error");


这将在标签位于左分区时选择该标签。对
.removeClass()
执行相同操作。最后,如果希望将规则普遍应用于所有字段,也可以不太具体地使用选择器,只需使用
div.left label
而不是
div.left label[for='password']

如果希望使用错误类突出显示所有标签,请使用setDefaults()函数:

if ( jQuery.validator ) {
    jQuery.validator.setDefaults({
        /* Place error labels below invalid fields */
        errorPlacement: function(error, element){
            $('label[for=' + element.attr('id') + ']').addClass("error");
        }
    });
}

$('#commentForm').validate();

完美。非常感谢,没问题。另外,请确保关闭您的
标签。当我编辑您的问题时,我注意到它在

标记之前没有关闭。如果我的答案解决了问题,请将其标记为已回答。:)费尔班克,你能再看看这个吗?抱歉,我以为我已经在中添加了左div,但是我正在查看早期版本。我会编辑上面的代码,我显然不习惯这个论坛。。。。我没有看到你的评论,这会有用的。非常感谢。
if ( jQuery.validator ) {
    jQuery.validator.setDefaults({
        /* Place error labels below invalid fields */
        errorPlacement: function(error, element){
            $('label[for=' + element.attr('id') + ']').addClass("error");
        }
    });
}

$('#commentForm').validate();