[英]Change color of specific text within HTML tags using Javascript
问题说明了一切。 例如,我有以下HTML代码:
<span id="span">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor<span>
如何在不修改上方span
情况下从上方更改任何单词的颜色(我知道我可以在另一个span
标签中添加id="text"
并使用document.getElementById("text").style.color="red";
但是,我想代替它在标记中搜索单词(也许使用RegExp)并动态更改其颜色。
不修改跨度的内容就无法做到。 因此,您可以在源代码中执行此操作,也可以稍后通过操作DOM(在您的情况下,通过jQuery)进行操作。
因此,例如:
var span = $("#span"); span.html(span.html().replace(/dolor/, '<span style="color: red">$&</span>'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <span id="span">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor</span>
替换字符串中的$&
是找到的单词。 在上面,只有第一次出现会被替换; 取代多次出现,一个添加g
正则表达式(的端部/dolor/g
)。
请注意,如果将任何事件处理程序附加到span
内的任何元素,它们将被此删除,因为span的内容将被删除然后替换。 (由于您的示例在span
内根本没有任何元素,因此我认为情况并非如此,但我想提一下。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.