在JQuery选择器中选择内部html

Jes*_*per 9 html jquery 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>
Run Code Online (Sandbox Code Playgroud)

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

 if ($(this).html().indexOf('**') == -1)
   { return; }
Run Code Online (Sandbox Code Playgroud)

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

$('ul li a[id*='**']')
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

ror*_*ryf 12

您正在寻找:包含选择器.

例如

$('ul li:contains(**)')
Run Code Online (Sandbox Code Playgroud)


Ale*_*lin 9

您可以使用:contains()选择器实现此目的.在这个片段中你会写:

$("ul li a:contains('**')")
Run Code Online (Sandbox Code Playgroud)