166 votes

Rechercher tous les éléments sur une page dont l'ID de l'élément contient un certain texte à l'aide de jQuery

J'essaie de trouver tous les éléments sur une page dont l'ID de l'élément contient un certain texte. Je vais donc nécessaire de filtrer les éléments trouvés selon qu'ils sont cachés ou non. Toute aide est grandement appréciée.

243voto

karim79 Points 178055
$('*[id*=mytext]:visible').each(function() {
    $(this).doStuff();
});

Remarque l'astérisque '*' au début de la sélection correspond à tous les éléments.

Voir l' Attribut Contient des Sélecteurs, ainsi que l' :visible et invisible sélecteurs.

179voto

Lucky Points 316

Si vous êtes à la constatation par Contient ensuite, il sera comme ceci

    $("input[id*='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Si vous êtes à la constatation par Commence Avec ensuite, il sera comme ceci

    $("input[id^='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Si vous êtes à la constatation par les Extrémités Avec ensuite, il sera comme ceci

     $("input[id$='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Si vous souhaitez sélectionner des éléments dont l'id n'est pas une chaîne de caractères

    $("input[id!='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Si vous souhaitez sélectionner les éléments qui id contient un mot donné, délimitée par des espaces

     $("input[id~='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Si vous souhaitez sélectionner des éléments dont l'id est égal à une chaîne donnée ou, à commencer par cette chaîne de caractères suivie d'un trait d'union

     $("input[id|='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

25voto

port-zero Points 451

Cela sélectionne tous les DIVs avec un ID contenant 'toto' et qui sont visibles

$("div:visible[id*='foo']");

8voto

user48408 Points 842

Merci à vous deux. Cela a fonctionné parfaitement pour moi.

$("input[type='text'][id*=" + strID + "]:visible").each(function() {
    this.value=strVal;
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X