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