【问题标题】:Is there something similar to :checked for input type text? [duplicate]是否有类似于 :checked for input type text 的内容? [复制]
【发布时间】:2016-11-03 01:57:46
【问题描述】:

一些问题。

  1. 是否有一些类似于 :checked 的 CSS 选择器来“评估”输入 type="text" 是否为空?

  2. 如果没有,是否有 Jquery 替代方案?更具体地说,我想在“非空”输入之后对以下元素进行样式化。我可能应该只为这个输入分配一个类:class="NotEmpty",然后准备一个 CSS .NotEmpty+p {},对吧?

  3. 有一个选中的选择器而不是其他类似选项的原因可能是什么?

【问题讨论】:

  • 你可以看看这个网址link
  • 你可能想看看这个:stackoverflow.com/questions/1854556/…
  • 不,实际上你需要一个脚本来完成它
  • 嗯。是的。我只是在考虑样式,但“验证”方法很有趣......

标签: jquery css


【解决方案1】:

实际上,这样的选择器会遍历所有元素。

所以你自己用filter做吧:

var $collection = $("some selector").filter(function(){ return this.value });

【讨论】:

  • 感谢您这么快回答。我扩展了一些原始问题。 :o)
【解决方案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)');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    • 2010-12-17
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多