Elemento seleccionado basado en contenido de texto EXACTO

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

John

pero no

Johnny

Para la pregunta original, sería

 var ad = $(".existing_ad .index:containsExact('"+index+"')").parents('.existing_ad');