jQuery验证器错误放置

时间:2015-08-21 09:48:41

标签: javascript jquery jquery-validate

我的jQuery有以下代码:

highlight: function(element, errorClass, validClass) {
            $(element).addClass(errorClass).addClass('errorImage').removeClass(validClass).removeClass('validImage');
            if($(element.form).find("input[type=radio") == true) {
                $(element.form).find("input[id=" + element.id + "]").addClass(errorClass).addClass('errorImageRadio');  
            }else{
                $(element.form).find("input[id=" + element.id + "]").addClass(errorClass).addClass('errorImage');
            }
            },

我正在尝试的是,如果输入类型是收音机或复选框,它应该基本上使用不同的类,我在这里遗漏了一些东西,不知道那是什么。

它是jQuery验证器插件的一部分。

1 个答案:

答案 0 :(得分:1)

jQuery对象总是很简单,如果要测试jQuery对象是否与任何DOM元素匹配,请使用.length属性。

.find()查询中还有一个缺少的方括号:

而不是

if($(element.form).find("input[type=radio") == true)

尝试:

if($(element.form).find("input[type=radio]").length)

对于它的价值(非常多),你应该使用ID选择器按ID来定位元素,而不是属性选择器。由于您已经在变量中包含DOM元素,因此您可以将其包装在jQuery对象中:

$(element.form).find("input[id=" + element.id + "]").addClas...

变为

$(element).addClas...

等等...