有些问题。
是否有类似的CSS选择器:选中"评估"如果输入类型="文本"是空的还是没有?
如果没有,是否有Jquery替代方案?更具体地说,我希望在"非空"之后对以下元素进行样式化。输入。我应该只在这个输入中分配一个类:class="NotEmpty"
然后准备一个CSS .NotEmpty+p {}
,对吗?
检查选择器而不是其他类似选项的原因是什么?
答案 0 :(得分:2)
实际上,这样的选择器会迭代所有元素。
所以,只需使用filter:
自行完成var $collection = $("some selector").filter(function(){ return this.value });
答案 1 :(得分:2)
jQuery没有这样的选择器。有一个:empty
选择器,但它通过检查元素的后代来工作。
正如另一个答案所示,您可以使用.filter
方法检查匹配元素。但是如果你想使用一个选择器,你可以添加一个。这是一个例子:
$.extend($.expr[':'], {
empty_field: function(a) {
return typeof a.value === 'string'
&& a.value.trim().length === 0;
}
});
选择器可以像预定义的选择器一样使用:
// select the empty inputs:
$('input:empty_field');
// select the not-empty inputs:
$('input:not(:empty_field)');