Estou tentando encontrar todos os elementos em uma página cujo ID do elemento contém um determinado texto. Em seguida, precisarei filtrar os elementos encontrados com base em se eles estão ocultos ou não. Qualquer ajuda é muito apreciada.
Estou tentando encontrar todos os elementos em uma página cujo ID do elemento contém um determinado texto. Em seguida, precisarei filtrar os elementos encontrados com base em se eles estão ocultos ou não. Qualquer ajuda é muito apreciada.
Respostas:
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});
Observe que o asterisco '*' no início do seletor corresponde a todos os elementos .
Consulte o Atributo contém seletores , bem como os seletores : visible e : hidden .
id
você não usa aspas, enquanto que ao fazer a correspondência com um elemento, name
você faz. $('*[name*="myname"]:visible')
Não é o mais intuitivo e já me alcançou antes.
Se você encontrar por Contains , será assim
$("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você encontrar pela Starts With , será assim
$("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você encontrar pelo Ends With , será assim
$("input[id$='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você deseja selecionar elementos cujo id não é uma determinada string
$("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você deseja selecionar elementos cujo nome contenha uma determinada palavra, delimitada por espaços
$("input[name~='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Se você deseja selecionar elementos cujo id é igual a uma determinada string ou começa com essa string seguida 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 contendo 'foo' e que são visíveis
$("div:visible[id*='foo']");
$(this)[0].innerText