2013-02-10 27 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()),以去掉複選框,單選按鈕等