5 Stimmen

jQuery @-Operator?

Ich habe also den alten Code von jemand anderem, den ich versuche, wiederherzustellen. Ich bin nicht allzu vertraut mit jQuery, aber was bedeutet die @ Betreiber angeben?

Der Code lautet:

v_button_format = $('#' + v_form_id).find('input[@name=button_format]').val();
v_content_type = $('#' + v_form_id).find('input[@name=content_type]').val();

Ich verwende jQuery 1.3 und es wirft eine "uncaught exception: Syntaxfehler, nicht erkannter Ausdruck: [@name=button_format]" Fehler. Gibt es ein Kompatibilitätsproblem?

13voto

SLaks Punkte 832502

Dies ist ein Attributselektor.

Le site @ ist ein XPath-ismus, der in jQuery nicht mehr verwendet wird.
Außerdem erfordern neuere Versionen von jQuery, dass der Attributwert in Anführungszeichen steht.

Daher sollten Sie schreiben

$('#' + v_form_id).find('input[name="content_type"]').val();

3voto

cwallenpoole Punkte 75701

Das bedeutet attribute . input[@name=button_format] bedeutet the input tag with the name attribute equal to button_format .

In neueren Versionen von jQuery müssen Sie jedoch das @ und quote button_format entfernen. Dies bedeutet @ ist nicht abwärtskompatibel. So heißt es in der Fachliteratur .

Nota: In jQuery 1.3 wurden die Stil-Selektoren [@attr] entfernt (sie waren zuvor in jQuery 1.2 veraltet). Entfernen Sie einfach das "@"-Symbol aus Ihren Selektoren, damit sie wieder funktionieren.

0voto

Jakob Punkte 23652
 input[@name=button_format]

ist das Eingabefeld, dessen Name-Attribut auf 'button_format' gesetzt ist, d.h.:

 <input name="button_format">

0voto

Gowri Punkte 16039
input[@name=button_format]

Dies ist alter Selektor type.please remove if @ if you using jQuery latest neuer Weg ist

input[name="button_format"]

0voto

Jose Faeti Punkte 11753

Hinweis: In jQuery 1.3 wurden die Stil-Selektoren [@attr] entfernt (sie waren zuvor in jQuery 1.2 veraltet). Entfernen Sie einfach das '@'-Symbol aus Ihren Selektoren, um sie wieder zum Laufen zu bringen.

ist ein veralteter Selektor, den Sie aus Ihrem Code entfernen müssen, da er nicht mehr unterstützt wird und Fehler verursacht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X