Cet article décrit comment utiliser jQuery pour filtrer les éléments en fonction des valeurs d'attribut de données. L'extrait de code suivant sélectionne tous les éléments Div avec des ID commençant par "Proto_" et la valeur "State" de l'attribut de données est "Ouvert":
var $el = $('div[id^=proto_]').filter(function() { return ($(this).data("state") == "open"); }); console.log($el);
Version optimisée
Merci à VLAD pour la solution d'optimisation:
var $el = $('div[id^=proto_]').filter('div[data-state=open]').css('color','red');
JSFiddle Optimize Version Demo
FAQ pour jQuery Filtrage des objets par attributs de données
Comment utiliser jQuery pour filtrer les objets en fonction des attributs de données?
jQuery fournit des moyens puissants de manipuler et de filtrer les objets en fonction des attributs de données. Cela peut être réalisé en utilisant la fonction .filter()
de jQuery. La fonction .filter()
permet de spécifier une fonction comme paramètre, qui doit renvoyer vrai ou faux. Si la fonction renvoie true, l'élément sera inclus dans la collection filtrée; si FALSE est retourné, il ne sera pas inclus. Voici un exemple de base:
$('div').filter(function() { return $(this).data('key') === 'value'; });
Cet exemple filtre tous les éléments Div avec une valeur de "clé" pour les attributs de données.
Quelle est la différence entre et .filter()
dans .find()
?
.filter()
et .find()
sont les deux méthodes jQuery utilisées pour réduire la portée de recherche des éléments dans les objets jQuery. Leurs principales différences sont les suivantes: .filter()
rétrécit l'ensemble des éléments correspondants aux éléments qui correspondent ou passent le test de fonction, tandis que .find()
obtient les descendants de chaque élément dans la collection d'élément correspondante actuelle et passe le sélecteur, l'objet jQuery ou les éléments à filtre.
Puis-je utiliser plusieurs attributs de données dans la fonction .filter()
?
Oui. Ajoutez simplement plus de conditions à la fonction. Par exemple:
$('div').filter(function() { return $(this).data('key1') === 'value1' && $(this).data('key2') === 'value2'; });
Cet exemple filtre tous les éléments div avec une valeur de "key1" de l'attribut de données "Value1" et une valeur de "key2" de l'attribut de données "Value2".
Comment filtrer les éléments en fonction des valeurs d'attribut de données contenant une chaîne spécifique?
Vous pouvez utiliser l'attribut contenant des sélecteurs [name*="value"]
pour sélectionner des éléments dont la valeur d'attribut contient une chaîne spécifique. Par exemple:
$('div[data-key*="value"]').filter(function() { // 您的代码 });
Cet exemple filtre toutes les valeurs "Key" "Key" contenant des éléments div avec une chaîne "valeur".
peut être utilisé .filter()
avec d'autres méthodes jQuery?
Oui. Par exemple, vous pouvez utiliser .filter()
avec .css()
pour modifier le style de l'élément filtrant:
$('div').filter(function() { return $(this).data('key') === 'value'; }).css('color', 'red');
Cet exemple modifie la couleur du texte de tous les éléments div avec la valeur "clé" de "valeur" en rouge.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Python est plus adapté à la science des données et à l'apprentissage automatique, tandis que JavaScript est plus adapté au développement frontal et complet. 1. Python est connu pour sa syntaxe concise et son écosystème de bibliothèque riche, et convient à l'analyse des données et au développement Web. 2. JavaScript est le cœur du développement frontal. Node.js prend en charge la programmation côté serveur et convient au développement complet.

JavaScript ne nécessite pas d'installation car il est déjà intégré à des navigateurs modernes. Vous n'avez besoin que d'un éditeur de texte et d'un navigateur pour commencer. 1) Dans l'environnement du navigateur, exécutez-le en intégrant le fichier HTML via des balises. 2) Dans l'environnement Node.js, après avoir téléchargé et installé Node.js, exécutez le fichier JavaScript via la ligne de commande.

Comment envoyer à l'avance des notifications de tâches en quartz lors de l'utilisation du minuteur de quartz pour planifier une tâche, le temps d'exécution de la tâche est défini par l'expression CRON. Maintenant...

Comment obtenir les paramètres des fonctions sur les chaînes prototypes en JavaScript dans la programmation JavaScript, la compréhension et la manipulation des paramètres de fonction sur les chaînes prototypes est une tâche commune et importante ...

Analyse de la raison pour laquelle la défaillance du déplacement de style dynamique de l'utilisation de Vue.js dans la vue Web de l'applet WeChat utilise Vue.js ...

Comment faire des demandes d'obtention simultanées pour plusieurs liens et juger en séquence pour retourner les résultats? Dans les scripts de Tampermonkey, nous devons souvent utiliser plusieurs chaînes ...


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Dreamweaver CS6
Outils de développement Web visuel

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP