web-dev-qa-db-fra.com

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

J'essaie de trouver tous les éléments d'une page dont l'ID d'élément contient un certain texte. J'aurai ensuite besoin de filtrer les éléments trouvés en fonction de leur masquage ou non. Toute aide est grandement appréciée.

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

Notez l'astérisque '*' au début du sélecteur correspond à tous les éléments .

Voir les l'attribut contient les sélecteurs , ainsi que les sélecteurs : visible et : caché .

178
karim79

Si vous trouvez par contient alors ce sera comme ça

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

Si vous trouvez par commence avec alors ce sera comme ça

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

Si vous trouvez par termine par alors ce sera comme ça

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

Si vous voulez sélectionner des éléments qui id n'est pas une chaîne donnée

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

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

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

Si vous voulez sélectionner des éléments qui id est égal à une chaîne donnée ou commençant par cette chaîne suivie d'un trait d'union

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

Ceci sélectionne toutes les DIV avec un ID contenant 'foo' et qui sont visibles

$("div:visible[id*='foo']");
18
port-zero

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

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