Ist es möglich, ein jQuery-Plugin zu erstellen, das this.each für mehrere Übereinstimmungen zurückgibt und es mir erlaubt, jedem Objekt in jeder Schleife eine Funktionseigenschaft hinzuzufügen? Ich möchte diese Funktion später direkt vom Objekt aufrufen.jQuery Plugin Geben Sie dieses Objekt zurück und fügen Sie jedem Objekt eine Funktionseigenschaft hinzu?
Zum Beispiel, hier ist eine vereinfachte Version von dem, was ich versuche zu tun: diese in einem document.ready Funktionsaufruf
(function ($) {
$.fn.roflcopter = function(options) {
return this.each(function() {
$(this).addClass('lol');
$(this).getMyValue = function(e){
return returnMyFilteredValue($(this));
}
});
function returnMyFilteredValue(elem){
return $(elem).val().replace("cat", "dog");
}
};
}(jQuery));
Ich möchte dann:
$("input.coolStuff").roflcopter();
var value = $("input.coolStuff").first().getMyValue();
Ist das möglich ? Ich bekomme eine Fehlermeldung, dass getMyValue keine Funktion ist.
'.each()' gibt nur das Objekt zurück, das es erhalten hat. Verwenden Sie '.map()', wenn Sie Elemente überlappen und zurückgeben möchten, was die Funktion zurückgibt. – Barmar