2011-02-02 10 views
7

Mam następujące HTML:Wybór wewnętrzną html w selektor JQuery

<div id="ctl00_m_g_f660033c_e200_4bff_b244_b574efe5b9b5"> 
    <ul style="margin-left: 0px"> 
     <li id="li5"><a href="#">T, Paul</a> </li> 
     <li id="li4"><a href="#">People**R, Jesse</a> </li> 
     <li id="li1"><a href="#">Animals**El Guapo</a> </li> 
     <li id="li2"><a href="#">Animals**Sasha</a> </li> 
     <li id="li3"><a href="#">People**G, Jenice</a> </li> 
    </ul> 
</div> 

Chcę wybrać tylko (Li), które zawierają elementy ** w tekście wewnętrznej. Mogę to sprawdzić w JQuery przy użyciu następującego kodu:

if ($(this).html().indexOf('**') == -1) 
    { return; } 

jednak chciałbym to zrobić w selektor jQuery uniknąć niepotrzebnego analizowania. Mogę użyć czegoś tak, aby dopasować na polu ID:

$('ul li a[id*='**']') 

.. ale nie byłem w stanie znaleźć sposób, aby dopasować na html() w (a) elementu selektor jQuery. Czy można to zrobić?

góry dzięki

Odpowiedz

8

Możesz to osiągnąć dzięki :contains() selector. W tym fragmencie napisałbyś:

$("ul li a:contains('**')")