是否可以结合使用:contains和.eq()来搜索特定div中的文本?
我目前使用以下两个语句,这些语句根据PHP $ _GET []从URL中获取的值创建jquery语句。
第一个只检查与当前$ platformString匹配的链接文本并将其变为白色。
$(\"a:contains('". $platformString . "')\").css(\"color\", \"#ffffff\");
第二个显示并隐藏基于存储在部分中的已知值的div。
$(\".sidebar_content\").eq(" . $section .").toggle();
问题是$ platformString可以在其他隐藏的div中有多个匹配,一旦匹配它们也会变成白色。
我可以将这两个语句组合在一起,只是突出显示当前$ section中的$ platformString吗?
非常感谢您提供的任何建议。
罗伯特
答案 0 :(得分:1)
我不确定我是否理解正确,但是......
你试过“a:visible:contains()”吗?
这应该只匹配可见的元素并包含指定的文本。
答案 1 :(得分:0)
这将在页面上搜索platformString
中包含的文本的所有div,并将它们包装在标签中。
var platformString = "replaceMe";
$('div').html(function() {
return $(this).html().replace(new RegExp(platformString, "ig"), '<strong>$&</strong>'));
});
它类似于“突出显示”,只需将<strong>
替换为您想要使用的另一种标记。也许<span>
带有一些自定义效果的类?
编辑:将searchString
替换为$&
- 匹配搜索到的文本并保留大小写