【问题标题】:Selecting inner html in a JQuery selector在 JQuery 选择器中选择内部 html
【发布时间】:2011-06-20 02:57:18
【问题描述】:

我有以下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() 的方法。是否有可能做到这一点?

提前致谢

【问题讨论】:

    标签: jquery html jquery-selectors


    【解决方案1】:

    您正在寻找:contains 选择器。

    例如

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

    【讨论】:

      【解决方案2】:

      您可以通过:contains() selector 实现此目的。在这个 sn-p 中你会写:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-09
        • 2011-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-19
        相关资源
        最近更新 更多