繁体   English   中英

使用 jquery:contains 和 and.eq() 修改特定 div 内的文本样式

[英]Use jquery :contains and and .eq() to modify text style within specific div

是否可以结合使用:contains 和 .eq() 在特定 div 中搜索文本?

我目前使用以下两个语句,它们根据 PHP $_GET[] 从 URL 中获取的值创建 jquery 语句。

第一个只是检查与当前 $platformString 匹配的链接文本并将其变为白色。

$(\"a:contains('". $platformString . "')\").css(\"color\", \"#ffffff\");

第二个根据存储在 section 中的已知值显示和隐藏 div。

$(\".sidebar_content\").eq(" . $section .").toggle();

问题是在其他隐藏的 div 中可能有多个 $platformString 匹配,一旦匹配,它们也会变成白色。

我可以结合这两个语句来简单地突出当前 $section 中的 $platformString 吗?

非常感谢您提供的任何建议。

罗伯特

我不确定我是否理解正确,但是..

你试过“a:visible:contains()”吗?

这应该只匹配可见且包含指定文本的元素。

这将在页面上的所有 div 中搜索包含在platformString中的文本并将它们包装在标签中。

var platformString = "replaceMe";

$('div').html(function() {
   return $(this).html().replace(new RegExp(platformString, "ig"), '<strong>$&</strong>'));
});

它类似于“突出显示”,只需将<strong>替换为您希望使用的另一种标签。也许是带有 class 的<span>以获得一些自定义效果?

编辑:用$&替换searchString - 匹配搜索到的文本并保留大写

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM