2013-02-10 14 views
5

Wiele razy z ramkami tekstowymi można użyć selektora "input [type = text]" w arkuszu stylów lub jQuery. Teraz z wszystkimi nowymi odmianami pól tekstowych w HTML5, jak możesz radzić sobie z ramkami tekstowymi oprócz umieszczania ich wszystkich w ten sposób ?:Selektor dla pól tekstowych w HTML5?

dane wejściowe [typ = tekst], dane wejściowe [typ = kolor], dane wejściowe [typ = datetime ] input [type = email], wejście [type = liczba], wejście [type = Search], input [type = tel], wejście [type = url] ...

+1

jQuery nie ma obecnie jednej pseudoklaski typu catch-all dla nowych typów danych wejściowych HTML5. W obecnej wersji jQuery nie będzie również dostępny w przyszłości, ponieważ ten problem jest oznaczony jako "wontfix" w [Tracker jQuery Bug] (http://bugs.jquery.com/ticket/9132). Najlepiej jest stworzyć własny selektor, jak sugerują odpowiedzi. – Boaz

Odpowiedz

2

Jak daleko ponieważ wiem, że nie ma selektora, który wybiera te wejścia, możesz zdefiniować własny selektor.

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

To może być łatwiejsze w użyciu tylko input dla swoich pól tekstowych, a następnie albo stałe (dla CSS) lub wyłączyć (z :not()) rozebrać się pola wyboru, przyciski radiowe, itp

Powiązane problemy