Estoy tratando de encontrar todos los elementos en una página cuyo ID de elemento contiene un texto determinado. Luego necesitaré filtrar los elementos encontrados en función de si están ocultos o no. Cualquier ayuda es muy apreciada.
Estoy tratando de encontrar todos los elementos en una página cuyo ID de elemento contiene un texto determinado. Luego necesitaré filtrar los elementos encontrados en función de si están ocultos o no. Cualquier ayuda es muy apreciada.
Respuestas:
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});
Tenga en cuenta que el asterisco '*' al comienzo del selector coincide con todos los elementos .
Consulte el atributo contiene selectores , así como los selectores : visible y : oculto .
id
no se utilizan comillas, mientras que cuando se compara con un elemento name
sí. $('*[name*="myname"]:visible')
No es el más intuitivo y me ha pillado antes.
Si lo encuentra por Contiene , será así
$("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Si estás buscando por Comienza con, entonces será así
$("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Si está buscando por Finaliza con, entonces será así
$("input[id$='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Si desea seleccionar elementos cuya identificación no es una cadena dada
$("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Si desea seleccionar elementos cuyo nombre contiene una palabra dada, delimitada por espacios
$("input[name~='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Si desea seleccionar elementos cuya identificación es igual a una cadena dada o comenzar con esa cadena seguida de un guión
$("input[id|='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Esto selecciona todos los DIV con una ID que contiene 'foo' y que son visibles
$("div:visible[id*='foo']");
$(this)[0].innerText
Gracias a los dos. Esto funcionó perfectamente para mí.
$("input[type='text'][id*=" + strID + "]:visible").each(function() {
this.value=strVal;
});