In diesem Artikel wird beschrieben, wie JQuery verwendet wird, um Elemente basierend auf Datenattributwerten zu filtern. Der folgende Code -Snippet wählt alle Div -Elemente mit IDs aus, die mit "proto_" und dem Datenattribut "Status" Wert "geöffnet" sind:
var $el = $('div[id^=proto_]').filter(function() { return ($(this).data("state") == "open"); }); console.log($el);
optimierte Version
Vielen Dank an Vlad für die Optimierungslösung:
var $el = $('div[id^=proto_]').filter('div[data-state=open]').css('color','red');
JSFIDDLE optimierte Version Demo
FAQ für JQuery -Filterobjekte nach Datenattributen
jQuery bietet leistungsstarke Möglichkeiten zum Manipulieren und Filtern von Objekten basierend auf Datenattributen. Dies kann unter Verwendung der .filter()
-Funktion von JQuery erreicht werden. Die Funktion .filter()
ermöglicht das Angeben einer Funktion als Parameter, die wahr oder false zurückgeben sollte. Wenn die Funktion true, wird das Element in die gefilterte Sammlung aufgenommen. Hier ist ein grundlegendes Beispiel:
$('div').filter(function() { return $(this).data('key') === 'value'; });
Dieses Beispiel filtert alle Div -Elemente mit einem Wert von "Schlüssel" für Datenattribute.
Was ist der Unterschied zwischen.filter()
in .find()
? .filter()
und .find()
sind beide JQuery -Methoden, mit denen der Suchbereich von Elementen in JQuery -Objekten eingeschlossen ist. Ihre Hauptunterschiede sind: .filter()
verengt die Menge der passenden Elemente an Elemente, die den Funktionstest übereinstimmen oder bestehen Filter. .find()
.filter()
$('div').filter(function() { return $(this).data('key1') === 'value1' && $(this).data('key2') === 'value2'; });
Wie filtert ich Elemente basierend auf Datenattributwerten, die eine bestimmte Zeichenfolge enthalten?
verwenden, um Elemente auszuwählen, deren Attributwert eine bestimmte Zeichenfolge enthält. Zum Beispiel: [name*="value"]
$('div[data-key*="value"]').filter(function() { // 您的代码 });
Kann
.filter()
mit .filter()
verwenden, um den Stil des Filterelements zu ändern: .css()
$('div').filter(function() { return $(this).data('key') === 'value'; }).css('color', 'red');
Das obige ist der detaillierte Inhalt vonJQuery -Filterobjekte nach Datenattributwert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!