在JQuery选择器中选择内部html

时间:2011-02-02 16:53:32

标签: jquery html jquery-selectors

我有以下html:

 <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>

我想在内部文本中仅选择包含**的(li)元素。我可以使用以下代码在JQuery中检查这个:

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

但是,我想在JQuery选择器中执行此操作以避免不必要的解析。我可以使用类似的东西来匹配id字段:

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

..但是我无法在JQuery选择器的(a)元素中找到匹配html()的方法。是否有可能做到这一点?

提前致谢

2 个答案:

答案 0 :(得分:12)

您正在寻找:contains选择器。

e.g。

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

答案 1 :(得分:9)

您可以使用:contains() selector实现此目的。在这个片段中你会写:

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