2013-02-10 30 views
5

多次使用文本框,您可以在样式表或jQuery中使用“input [type = text]”选择器。现在所有的HTML5新文本框的变化,你怎么处理文本框除了列出他们都弄成这样?:HTML5中的文本框选择器?

输入[类型=文字],输入[类型=颜色],输入[类型=日期时间], 输入[类型=电子邮件],输入[类型=数],输入[类型=检索], 输入[类型=电话],输入[类型= URL],...

+1

jQuery目前没有针对新的HTML5输入类型的单个全部捕获伪类。就目前情况而言,jQuery将来也不会有,因为这个问题在[jQuery Bug Tracker](http://bugs.jquery.com/ticket/9132)中被标记为“wontfix”。正如答案所示,最好创建自己的选择器。 – Boaz 2013-02-10 07:55:45

回答

2

就因为我知道没有选择器可以选择这些输入,所以可以定义一个自定义选择器。

var types = ['button', 'submit', 'reset', 'hidden', 'checkbox', 'radio']; 
jQuery.extend(jQuery.expr[':'], { 
    textbox: function (elem) {  
     return jQuery.inArray(elem.type, types) === -1 
    } 
}); 

$('input:textbox').bar(); 

http://jsfiddle.net/Xryyq/

1

这可能是更容易使用你的文本框只是input,然后要么重写(对于CSS)或排除(与:not()),以去掉复选框,单选按钮等