Ich habe eine Schaltfläche mit dem Attribut 'geladen' und Anfangswert von 'Nein' erstellt. Nachdem ich auf den Button geklickt habe, starte ich etwas Ajax und am Ende versuche ich, das Attribut 'loaded' auf 'yes' zu setzen, damit der Ajax nicht erneut ausgeführt wird, wenn der Benutzer mehrmals auf den Button klickt .Mit jQuery .attr oder .prop, um Attributwert nicht funktioniert
Ich habe so etwas wie dies: http://jsfiddle.net/PDW35/2/
Klick auf die Schaltfläche ändert sich nicht geladen ‚Ja‘. Wenn Sie jedoch einen Alarm direkt nach dem .attr Aufruf wie folgt tun:
alert($(this).attr('loaded'));
das Warnfeld ‚Ja‘ enthält, die einmal der Benutzer klickt nicht, weil hilft, über den gleichen Code ein aufstellt 'no' Alarmbox auf dem Bildschirm.
Alles verhält sich genauso, wenn ich .prop anstelle von .attr. Fehle ich hier einen Punkt oder funktionieren .prop und .attr einfach nicht mit benutzerdefinierten Attributen?
EDIT: Aktualisiert jsfiddle mit Ajax basierend auf den Kommentaren unten: http://jsfiddle.net/PDW35/5/
Sie sehen den ursprünglichen Quellcode bei der Überprüfung des Attributs 'loaded' zufällig an? Weil es in Chrome in dieser Geige funktioniert. – CodingIntrigue
Immer wenn ich zum zweiten Mal auf die Schaltfläche klicke, wird "ja" angezeigt. Das Attribut ist richtig eingestellt. Versuchen Sie jedoch, erlaubte Attribute zu verwenden, die mit 'data-' beginnen, und verwenden Sie die jQuery-Funktion 'data()', um mit ihnen zu arbeiten. –
Wenn Sie ein eigenes Attribut erstellen, setzen Sie ihm "data-' "voran. Attributnamen dürfen keine Unterstriche enthalten. – Blender