条件选择器出了问题。我有一些输入字段。我想要使用required属性更改空字段的边框颜色。
我尝试了什么:
$("[required='required']").css({
"border": "1px solid #FF0000",
"background": "#FFEFFF"
});
$("[required='required']").blur(function () {
comp(this);
});
$("[required='required']").keyup(function () {
comp(this);
});
$("[required='required']").click(function () {
comp(this);
});
function comp(a) {
if ($(a).val() !== "")
$(a).css({
"border": "1px solid #ccc",
"background": ""
});
else $(a).css({
"border": "1px solid #FF0000",
"background": "#FFEFFF"
});
}
答案 0 :(得分:1)
我认为您的问题是您没有根据comp
函数初始化您的元素。
我修改了你的起始代码:
$("[required='required']").css({
"border": "1px solid #FF0000",
"background": "#FFEFFF"
});
到此:
$("[required='required']").each(function () {
comp(this);
});
我使用jQuery each
函数来迭代与选择器匹配的对象,并调用comp函数来初始化它们。
描述:一个通用的迭代器函数,可用于 无缝迭代对象和数组。数组和数组 具有length属性的对象(例如函数的arguments对象) 由数字索引迭代,从0到length-1。其他对象是 通过命名属性进行迭代。
这是一个小提琴:http://jsfiddle.net/HjzVu/19/