我有一个for循环用于验证表单中的字段,我根据验证是否通过来应用或禁用某些类。
见下文
function inlineValidate(t, o, c) {
var i;
for (i in o) {
$(t).parent().find(i)[o[i]]();
}
$(t).css("border-color", c);
};
另外我有一个颜色变量,我已在我的代码中的其他地方使用过,我想将其应用于上面的“c”参数:
var grey = {'border-color': '#ccc'};
var red = {'border-color': '#ff999'};
下面是我尝试使用颜色变量的每个函数:
$(".validName").each(function() {
if ($(this).attr('data-req')){
var val = $(this).val();
var minLength = defaultMinNameLength
if (validateName(val) && validateLength(val,minLength)){
inlineValidate(this, { '.correct': 'fadeIn', '.incorrect': 'hide' },grey);
} else {
errors++;
inlineValidate(this, { '.correct': 'hide', '.incorrect': 'fadeIn' }, red);
}
}
});
我可以看到“border-color”有点重复,所以我尝试从for循环中删除“border-color”,如下所示:
$(t).css(c);
但它不起作用。有没有人有任何想法?
谢谢!
答案 0 :(得分:2)
使用.css
仅仅设置 边框颜色是不够的 - 默认情况下边框宽度为0px。
你可以这样做:
var c = {'border-color':'#ff9999','border-width':'1px','border-style':'solid'};
或者你可以这样:
var c = {'border':'1px solid #ff9999'};