我有一些输入字段,如果它们不为空,我正在尝试将类添加到它们的父容器中。
这是咖啡脚本:
$(".inputA, .inputB").parent().addClass(->
if !$(this).is(":empty")
"input-set"
)
这成功地附加"input-set"
到父类,但在所有情况下,不仅仅是空输入字段。
:(
我有一些输入字段,如果它们不为空,我正在尝试将类添加到它们的父容器中。
这是咖啡脚本:
$(".inputA, .inputB").parent().addClass(->
if !$(this).is(":empty")
"input-set"
)
这成功地附加"input-set"
到父类,但在所有情况下,不仅仅是空输入字段。
:(
利用jQuery.filter()
$(".inputA, .inputB").filter(function(){
return this.value !='';
}).parent().addClass("input-set");
比使用更少的函数调用$.each
:empty
将选择没有子元素的元素。因此,使用它来有条件地选择某些元素的父级没有任何意义。
参考:https ://developer.mozilla.org/en-US/docs/Web/CSS/:empty
如果您希望将类添加到尚未填充的输入的父级,那么您可以使用以下内容:
$(".inputA, .inputB").each(function(){
if (this.value !== "") {
$(this).parent().addClass('input-set');
}
});
首先,input
元素根据定义是空的..
阅读http://api.jquery.com/empty-selector/:empty
上的文档
其次,您正在测试父元素而不是input
那些..(因为它们是父元素,这意味着它们不是空的,它们都符合要求..)