J'essaye de trouver tous les éléments sur une page dont l'ID d'élément contient un certain texte. Je devrai ensuite filtrer les éléments trouvés selon qu'ils sont masqués ou non. Toute aide est grandement appréciée.
J'essaye de trouver tous les éléments sur une page dont l'ID d'élément contient un certain texte. Je devrai ensuite filtrer les éléments trouvés selon qu'ils sont masqués ou non. Toute aide est grandement appréciée.
Réponses:
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});
Notez que l'astérisque «*» au début du sélecteur correspond à tous les éléments .
Voir l' attribut contient des sélecteurs , ainsi que les sélecteurs : visible et : hidden .
id
vous n'utilisez pas de guillemets, alors que lorsque vous comparez avec un, name
vous le faites. $('*[name*="myname"]:visible')
Pas le plus intuitif et m'a rattrapé avant.
Si vous trouvez par Contient, ce sera comme ça
$("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Si vous trouvez par commence par alors ce sera comme ça
$("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Si vous trouvez par Ends With alors ce sera comme ça
$("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 donnée
$("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Si vous souhaitez sélectionner des éléments dont le nom contient un mot donné, délimité par des espaces
$("input[name~='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 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
});
Ceci sélectionne toutes les DIV avec un ID contenant 'foo' et qui sont visibles
$("div:visible[id*='foo']");
$(this)[0].innerText