在 JQuery 选择器中选择内部 HTML

9

我有以下的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个回答

12

你正在寻找:contains选择器。

例如:

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

10
你可以使用 :contains() 选择器来实现这个功能。在这个代码片段中,你应该写成这样:
$("ul li a:contains('**')")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接