Tengo una lista de divs que contienen una etiqueta p
clasificada como index
. El contenido textual de estas tags p
es un número de 1 a n (aunque probablemente no más de tal vez 30-40). Tenía el siguiente selector, que funcionó bien en las pruebas preliminares:
var ad = $('.existing_ad .index:contains('+index+')').parents('.existing_ad');
Donde index
es el índice numérico que .existing_ad
de la etiqueta p
y .existing_ad
es la clase del div
principal. Como dije, esto funcionó bien … hasta que fui con números más altos. Por ejemplo, cuando el índice es 1 , selecciona los .existing_ad
s donde el índice TIENE A 1 EN ÉL, por ejemplo, 1, 10-19, 21, 31, etc.
¿Cómo puedo obtener ÚNICAMENTE el índice n ?
Qué tal esto:
$('.existing_ad .index').filter(function() { return $(this).text() == index; }).parents('.existing_ad');
Si lo usa mucho, podría crear una extensión
$.expr[":"].containsExact = function (obj, index, meta, stack) { return (obj.textContent || obj.innerText || $(obj).text() || "") == meta[3]; };
$('div:containsExact('John')
coincidirá con
pero no
Para la pregunta original, sería
var ad = $(".existing_ad .index:containsExact('"+index+"')").parents('.existing_ad');