javascript - 颜色作为 for 循环中的 JQuery 变量

标签 javascript jquery

我有一个 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);
        }
    }
});

我可以看到“边框颜色”有点重复,所以我尝试从 for 循环中删除“边框颜色”,如下所示:

$(t).css(c);

但是这不起作用。有人有什么想法吗?

谢谢!

最佳答案

使用 .css 仅设置边框颜色是不够的 - 默认情况下边框宽度为 0px。

你可以这样做:

var c = {'border-color':'#ff9999','border-width':'1px','border-style':'solid'};

或者你可以这样:

var c = {'border':'1px solid #ff9999'};

实例:http://jsfiddle.net/caoo0zgd/

关于javascript - 颜色作为 for 循环中的 JQuery 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32525362/

相关文章:

javascript - 如何创建可重用的 Durandal 小部件

javascript - 如果数组中的所有值均为真(字符串)并且其中一个值为假(字符串),如何返回 boolean 值真停止使用 Javascript 检查

javascript - JQuery appendTo Div 带有ID而不是appendTo ('body')

javascript - D3 给我一个 d3.selectAll() 语法错误

jquery Accordion - 滚动到 li 标题

javascript - ZingChart 负 X 轴显示

javascript - 如何创建蜂窝 div 网格而不是标准网格?

javascript - 如何在用户输入后结束 setTimeout

javascript - 使用 moment.js 修改日期

jquery - 如何使用窗口位置设置 div 样式