Wie prüft man, ob es ein Attribut auf ein Element in jQuery gibt? Ähnlich wie bei hasClass
sondern mit attr
?
Zum Beispiel,
if ($(this).hasAttr("name")) {
// ...
}
Wie prüft man, ob es ein Attribut auf ein Element in jQuery gibt? Ähnlich wie bei hasClass
sondern mit attr
?
Zum Beispiel,
if ($(this).hasAttr("name")) {
// ...
}
Object.prototype.hasAttr = function(attr) {
if(this.attr) {
var _attr = this.attr(attr);
} else {
var _attr = this.getAttribute(attr);
}
return (typeof _attr !== "undefined" && _attr !== false && _attr !== null);
};
Ich kam ein überquerte diese beim Schreiben meiner eigenen Funktion, um die gleiche Sache zu tun... Ich dachte, ich würde teilen, falls jemand anderes hier stolpert. Ich habe null hinzugefügt, weil getAttribute() null zurückgibt, wenn das Attribut nicht existiert.
Diese Methode ermöglicht es Ihnen, jQuery-Objekte und reguläre Javascript-Objekte zu überprüfen.
Sie können es auch mit Attributen wie disabled="disabled" auf den Formularfeldern usw. verwenden, etwa so:
$("#change_password").click(function() {
var target = $(this).attr("rel");
if($("#" + target).attr("disabled")) {
$("#" + target).attr("disabled", false);
} else {
$("#" + target).attr("disabled", true);
}
});
Das Attribut "rel" speichert die ID des Zieleingabefeldes.
Ich habe ein hasAttr()-Plugin für Jquery geschrieben, das all dies auf sehr einfache Weise erledigt, genau so, wie es der OP verlangt hat. Mehr Informationen ici
EDIT : Mein Plugin wurde bei der großen plugins.jquery.com-Datenbanklöschungskatastrophe von 2010 gelöscht. Sie können nachsehen ici für Informationen darüber, wie Sie es selbst hinzufügen können und warum es noch nicht hinzugefügt wurde.
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.
14 Stimmen
Quickie:
if( $(this).is('[ATTRIBUTE_NAME]') ) { /* ... */ }
ÜBRIGENS: dies ist kein Duplikat dieser Frage mehr, es ist nur eine ähnliche Frage zu einem anderen Problem, das verlinkte Duplikat heißt jetzt "Elemente nach Attribut auswählen"