Javascript/jQuery,将CSS应用于包含特定文本/html的元素

Javascript/jQuery to apply CSS to element containing specific text/html

本文关键字:文本 html 元素 包含特 应用于 jQuery CSS Javascript      更新时间:2023-09-26

我正在尝试使用 Javascript/jQuery 将 CSS 应用于包含特定 HTML 的 HTML 元素。 我得到的基本上是:

<ol>
<li>*<a href=http://foo.com/1>A bunch of text</a>
<li><a href=http://foo.com/2>More text</a>
<li>*<a href=http://foo.com/3>Even more text</a>
<li><a href=http://foo.com/4>Just a little more text</a>
</ol>

我想要的是.addClass()在后跟星号的两个<li>标签上运行。

我知道我可以使用$("ol li:contains(*)")但链接文本中可能有星号,所以我不能相信它是 100% 准确的。 理想情况下,我想找到一种方法来在所有后跟 *<a href=http://foo.com/<li> 标签上运行 .addClass() ,但只是一种在后跟* <li>上运行它的方法可能会这样做。

查看了这个问题的答案,但它没有帮助,即使我innerText换成innerHTML,因为我不想匹配<li>的整个 HTML,只是开始。

$("ol li").filter(function(){
    return $(this).text().charAt(0) === '*';
}).addClass('awesome');