页面的每个输入字段都会有不同的颜色。
例如:任何"输入"元素将是红色边框
任何" textarea"元素将是蓝色边框
任何"选择"元素将是绿色边框
这是我的jquery代码:
$("input, textarea, select").each(function(event){
var fields = $(event.fields);
if( fields.is("input") ) {
fields.css( "border-color", "red" );
} else if ( fields.is("textarea") ) {
fields.css( "border-color", "blue" );
} else if ( fields.is("select") ) {
fields.css( "border-color", "green" );
}
});
它不起作用,控制台中也没有错误
答案 0 :(得分:3)
$.each()
参数不正确,每个函数在2 nd 参数和1 st 参数索引中提供对象,请尝试此代码
$("input, textarea, select").each(function(index, object){
var fields = $(object);
if( fields.is("input") ) {
fields.css( "border-color", "red" );
} else if ( fields.is("textarea") ) {
fields.css( "border-color", "blue" );
} else if ( fields.is("select") ) {
fields.css( "border-color", "green" );
}
});
或者你也可以使用this
获取当前的DOM ref
var fields = $(this);
答案 1 :(得分:0)
而不是
var fields = $(event.fields);
试
var fields = $(this);
由于
$("input, textarea, select").each(function(event){
console.log(event.fields);
});
打印undefined
- event
没有属性fields