1

可能重复:
在 jQuery 中查找文本字符串并将其设为粗体

如何使用 jQuery :contains(some text) 选择器,但只从“this is some text”中选择“some text”?

我有这样的事情:

<div class="search">this is some text</div>

我目前正在使用这样的代码:

$("div.search:contains(some text)").css("text-decoration","underline");

但这强调了“这是一些文本”,我希望它只强调“一些文本”。

我怎样才能最简单地做到这一点?

4

2 回答 2

2

您必须使用正则表达式用自己的元素包装内部文本:

$('div.search:contains(some text)').html(function (i, v) {
    return v.replace('some text', '<span>some text</span>');
})
.find('span').css('text-decoration', 'underline');

仅当 中没有嵌套元素时才使用此选项div.search。如果有,那么这是一场完全不同的球赛。

于 2013-01-06T03:35:59.583 回答
0

你可以拆开像 jQuery highlight 插件之类的东西来找出他们是如何做到的。或者您可以按原样使用插件,只需修改应用的 css 类以包含您的下划线而不是黄色背景颜色。

不一定回答这个问题,但如果你想要功能而不是学习......不要重新发明轮子。

http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html

于 2013-01-06T03:43:12.813 回答