1

我有一个输出输入的数组,带有一种数字,但我似乎无法让选择器找到它。不支持吗?

$('#container :text').each(...
$('#container input:number').each(...
$('#container :number').each(...

他们都没有找到输入值。我错过了什么?

我还查看了 jQuery 站点上的选择器列表,并没有看到任何新的 HTML5 输入类型。

4

1 回答 1

1

jQuery目前不支持某些伪选择器。相反,您需要将查询基于目标元素的属性,如下所示。

$("#container input[type=number]");

从 jQuery 1.9.0 开始,这些是存储在下面的伪选择器jQuery.expr[":"]

["animated", "button", "checkbox", "checked", "contains", "disabled", "empty", 
 "enabled", "eq", "even", "file", "first", "focus", "gt", "has", "header", 
 "hidden", "image", "input", "lang", "last", "lt", "not", "nth", "odd", 
 "parent", "password", "radio", "reset", "root", "selected", "submit", "target", 
 "text", "visible"]

如果您愿意,您可以扩展此对象并提供您自己的自定义选择器:

$.extend( $.expr[":"], {
    'color': function ( elem ) {
        return /color/.test(elem.type);
    }
});
于 2013-01-29T15:46:52.303 回答