Encontrar todos os elementos em uma página cuja ID elemento contém um determinado texto usando jQuery
Pergunta
Eu estou tentando encontrar todos os elementos em uma página cuja ID elemento contém um determinado texto. então eu vou precisar filtrar os elementos encontrados com base em se eles estão escondidos ou não. Qualquer ajuda é muito apreciada.
Solução
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});
Observe o asterisco '*' no início do seletor corresponde a todos os elementos .
Veja a atributo contém Seletores , bem como o : visível e :. escondida seletores
Outras dicas
Se você está encontrando por Contém , então ele vai ser assim
$("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você está encontrando por Inicia Com , então ele vai ser assim
$("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você está encontrando por Termina Com , então ele vai ser assim
$("input[id$='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você quiser selecionar elementos que id não é uma string dada
$("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você quiser selecionar elementos que id contém uma determinada palavra, delimitada por espaços
$("input[id~='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você quiser selecionar elementos que id é igual a uma determinada cadeia ou começando com essa seqüência seguido por um hífen
$("input[id|='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Isso seleciona todos os divs com um ID que contêm 'foo' e que são visíveis
$("div:visible[id*='foo']");
Graças a ambos. Isso funcionou perfeitamente para mim.
$("input[type='text'][id*=" + strID + "]:visible").each(function() {
this.value=strVal;
});