Javascript 更改由引号或自定义标记包围的文本的颜色
我有一个奇怪的例子,我需要搜索我的导航链接标题,并根据它们的标记更改特定的颜色 出于我无法控制的原因,在我使用的CMS工具中,我有一个单一的输入字段作为导航项目的标题 比如说,在这个例子中,它是“为什么选择堆栈溢出?” 我想实现一个javascript钩子,它可以更改“为什么选择”的颜色,并将“堆栈溢出”保留为其正常的css样式 我在考虑引入一些类似于论坛代码的东西,比如,Javascript 更改由引号或自定义标记包围的文本的颜色,javascript,jquery,Javascript,Jquery,我有一个奇怪的例子,我需要搜索我的导航链接标题,并根据它们的标记更改特定的颜色 出于我无法控制的原因,在我使用的CMS工具中,我有一个单一的输入字段作为导航项目的标题 比如说,在这个例子中,它是“为什么选择堆栈溢出?” 我想实现一个javascript钩子,它可以更改“为什么选择”的颜色,并将“堆栈溢出”保留为其正常的css样式 我在考虑引入一些类似于论坛代码的东西,比如,“*为什么选择*堆栈溢出?” 现在,我可以使用javascript搜索*并替换为 我看到了jquery的[name$],但对
“*为什么选择*堆栈溢出?”
现在,我可以使用javascript搜索*并替换为
我看到了jquery的[name$],但对它太不熟悉,无法真正理解如何让它工作
下面是一些HTML来帮助您完成此示例:
<nav>
<ul>
<li><a href="#"><div class='stext'>IT'S YOUR RIGHT TO</div>BREATHE RIGHT</a>
<ul>
<li><a href="#"><div class='stext'>IT'S YOUR RIGHT TO</div>BREATHE RIGHT</a></li>
<li><a href="#"><div class='stext'>THE BENEFITS OF</div>BREATHING RIGHT</a></li>
<li><a href="#"><div class='stext'>HOW BREATHE RIGHT</div>WORKS</a></li>
<li><a href="#"><div class='stext'>BREATHE RIGHT</div>PRODUCTS</a></li>
</ul>
</li>
<li><a href="#"><div class='stext'>THE BENEFITS OF</div>BREATHING RIGHT</a></li>
<li><a href="#"><div class='stext'>HOW BREATHE RIGHT</div>WORKS</a>
<ul>
<li><a href="#"><div class='stext'>IT'S YOUR RIGHT TO</div>BREATHE RIGHT</a></li>
<li><a href="#"><div class='stext'>THE BENEFITS OF</div>BREATHING RIGHT</a></li>
<li><a href="#"><div class='stext'>HOW BREATHE RIGHT</div>WORKS</a></li>
<li><a href="#"><div class='stext'>BREATHE RIGHT</div>PRODUCTS</a></li>
</ul>
</li>
<li><a href="#"><div class='stext'>BREATHE RIGHT</div>PRODUCTS</a></li>
</ul>
</nav>
-
-
这就是我想要它看起来的样子。我想让它相当健壮,因为它将扫描第一个*
添加
,然后在下一个*
添加
如果我了解了用于此任务的正确jquery/javascript,我可能会让它正常工作
任何其他的建议都会很好!谢谢
(同样,由于我们使用的CMS工具,我无法对链接标题进行任何其他编辑,因此这是我能想到的最好的解决方案)类似的东西
$("a").each(function() {
this.innerHTML = this.innerHTML.replace(
/\*([^\*]+)\*/g,
'<div class="stext">$1</div>');
});
$(“a”)。每个(函数(){
this.innerHTML=this.innerHTML.replace(
/\*([^\*]+)\*/g,
'$1');
});
(请参阅)查找bbcode,更重要的是查找javascript bcode解析器。简单的一点正则表达式,你可以指定你自己的标记,以及在正则表达式替换模式中将它们转换成什么。我不知道为什么你需要javascript来完成这一点-你不能控制CSS吗?或者示例中的HTML只是您认为在应用javascript后它会是什么样子的表示吗?@jake提供的HTML只是一个示例。基本上,我希望它看起来像JS经过它。谢谢。这正是我所需要的。这个答案不是很有效,因为当你有
时,甚至…和…
都会突出显示