2009-05-05 14 views

Odpowiedz

123
$('input[type=text], textarea').css({width: '90%'}); 

który używa standardowych selektorów CSS, jQuery posiada również zestaw filtrów pseudo-selektor różnych elementów postaci, na przykład:

$(':text').css({width: '90%'}); 

dopasują <input type="text"> elementy. Aby uzyskać więcej informacji, patrz Selectors documentation.

+6

: Selektor tekstu nie będzie zaznaczać tekstów (co najmniej w najnowszym jQuery). Chciałem także dodać coś z dokumentacji jQuery na temat: selektora tekstu: "Ponieważ: tekst jest rozszerzeniem jQuery i nie jest częścią specyfikacji CSS, zapytania używające: text nie może wykorzystać zwiększenia wydajności zapewnionego przez natywny DOM querySelectorAll () Aby uzyskać lepszą wydajność w nowoczesnych przeglądarkach, użyj zamiast tego [type = "text"]. " – Pehmolelu

+1

$ (": text") nie działa dla pól hasła. – Fatih

1
$("**:**input[type=text], :input[type='textarea']").css({width: '90%'}); 
+0

Dlaczego dwa razy pisać tę samą odpowiedź? Jeśli istnieje coś szczególnego w niewielkich różnicach, proszę je wyjaśnić! – roryf

+0

Osobiście doceniam wiedząc o jQuery's: wejściowy pseudo-selektor. +1 za pokazanie mi czegoś nowego. – eyelidlessness

+3

: input [type = 'textarea'] nie działa z najnowszym jQuery. Musisz użyć textarea. – Pehmolelu

13

pudełka Hasło są również pola tekstowe, więc jeśli trzeba je też:

$("input[type='text'], textarea, input[type='password']").css({width: "90%"}); 

i podczas plików wejście jest nieco inna, może chcesz dołączyć je też (np spójność wizualną.):

$("input[type='text'], textarea, input[type='password'], input[type='file']").css({width: "90%"}); 
0
names = []; 
$('input[name=text], textarea').each(
    function(index){ 
     var input = $(this); 
     names.push(input.attr('name')); 
     //input.attr('id'); 
    } 
); 

to zaznaczyć wszystkie pola tekstowe i textarea w swojej DOM, gdzie $ .each iteracje funkcji, aby zapewnić nazwę ecah el ement.

Powiązane problemy