Что не так с этим выражением jquery? - PullRequest
0 голосов
/ 17 декабря 2010

Я пытаюсь выбрать все свои текстовые поля с помощью ...

$("input[@type=text]")

Из документации jquery, похоже, это должен быть допустимый синтаксис.

Вниз по странице http://docs.jquery.com/DOM/Traversing/Selectors приведен пример ...

$("input[@type=radio][@checked]")

... что очень похоже на то, что делает мое выражение.Когда я «слежу» за своим выражением с помощью FireBug, я получаю ошибку

Syntax error, unrecognized expression: [@type='text'] 

.

Я пытался ...

$("input[@type='text']"), но безрезультатно.Я ценю любые советы!

Ответы [ 4 ]

6 голосов
/ 17 декабря 2010

Документация API, которую вы просматриваете, устарела (вероятно, основана на селекторах XPath).Вы хотите посмотреть на селектор attribute-equals .Есть также другие селекторы атрибутов (содержит, начинается с и т. Д.), Если вам интересно.

$("input[type='text']") должен работать для вас

Пример: http://jsfiddle.net/jonathon/hCRkW/

3 голосов
/ 17 декабря 2010

Попробуйте:

$('input:text')

И:

$('input:radio')

Селекторы @ устарели в jQuery 1.2, и я считаю, что исчезли в 1.3.

1 голос
/ 17 декабря 2010

Попробуйте $('input[type=text]').

Я думаю, что в более старой версии jquery вам требовался знак @ перед именем атрибута.Новая версия не хочет.

См. http://api.jquery.com/attribute-equals-selector/

1 голос
/ 17 декабря 2010

Попробуйте это: $('input[type="text"]')

...