2009-05-05 2 views

ответ

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

, который использует стандартные CSS селекторы, JQuery также имеет набор фильтров псевдо-селектор для различных элементов формы, например:

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

будет соответствовать всем <input type="text"> элементам. См. Selectors documentation для получения дополнительной информации.

+6

: текстовый селектор не выбирает текстовые поля (по крайней мере, в последнем jQuery). Я также хотел добавить что-то из документации jQuery о: селекторе: «Поскольку: текст является расширением jQuery, а не частью спецификации CSS, запросы с использованием: text не могут воспользоваться повышением производительности, предоставляемым собственным DOM-запросомSelectorAll (). Для лучшей производительности в современных браузерах вместо этого используйте [type = "text"]. – Pehmolelu

+1

$ (': text') не работает для полей пароля. – Fatih

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

Зачем отправлять одинаковый ответ дважды? Если что-то особенное о незначительных отличиях, пожалуйста, объясните их! – roryf

+0

Я лично ценю знание о jQuery's: input псевдо-селектор. +1 для показа мне что-то новое. – eyelidlessness

+3

: input [type = 'textarea'] не работает с последним jQuery. Необходимо использовать textarea. – Pehmolelu

13

Пароль коробки также Textboxes, так что если вам нужно их тоже:

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

и в то время как файл-вход немного отличается, вы можете включить их тоже (например, для визуальной согласованности.):

$("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'); 
    } 
); 

это выбрать все текстовые поля и текстовое поле в вашем DOM, где $ .each функция перебирает предоставить имя ecah эль ление.

Смежные вопросы