2010-12-16 9 views
0

Ich versuche, alle mit meinen Textfelder wählen ...Was ist falsch an diesem jquery Ausdruck?

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

Aus dem jquery docs scheint es diese gültige Syntax sein sollte.

unten auf der Seite auf http://docs.jquery.com/DOM/Traversing/Selectors es ein Beispiel gegeben ist ...

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

..., die sehr ähnlich ist, was mein Ausdruck tut. Wenn ich meinen Ausdruck mit FireBug 'beobachte', bekomme ich einen Fehler .

ich versucht habe ...

$("input[@type='text']") auch ohne Erfolg. Ich schätze alle Tipps!

+0

Verwenden Sie Version 1.1.2 von jQuery? Ich glaube, dass die '@' -Syntax veraltet war und Sie sollten sich die [aktuelle Dokumentation] (http://api.jquery.com/category/selectors/) ansehen, wenn Sie eine neuere Version verwenden. – Chris

Antwort

6

Die API-Dokumentation Sie sind suchen, ist alt (wahrscheinlich basierend auf XPath-Selektoren). Sie möchten den attribute-equals Selektor ansehen. Es gibt auch andere Attributselektoren (enthält, beginnt mit usw.), wenn Sie interessiert sind.

$("input[type='text']") sollte für Sie arbeiten

Beispiel: http://jsfiddle.net/jonathon/hCRkW/

+0

Danke, Sie haben Recht. Die Dokumente geben an, ein kaufmännisches Und-Zeichen zu verwenden. Als ich das herausgenommen habe, funktioniert es jetzt wie erwartet. VIELEN DANK!! –

+0

@John, für Klarheit schütteln, ** am Zeichen ** (@) ist nicht ** ambersand ** (&). –

+0

In Ihren verknüpften Dokumenten wird auch Folgendes angezeigt: "Dies ist eine alte Version der Selectors-API: Zeigen Sie die aktuelle API an". – thomaspaulb

1

Versuchen Sie folgendes: $('input[type="text"]')

3

Versuchen:

$('input:text') 

Und:

$('input:radio') 

Die @ Selektoren in jQuery veraltet wurden 1.2, und ich glaube, verschwand in 1.3.