我打算从other question再现数组这样的:仅将颜色应用于数组的一部分?
console.log(arrayStr);
,输出:
(a) - text1, (b) - text2, (c) - text3, (d) - text3
我如何申请一个颜色(a) (b)
等部件组成?
正则表达式是:/\([^)]+\)/g;
感谢。
我打算从other question再现数组这样的:仅将颜色应用于数组的一部分?
console.log(arrayStr);
,输出:
(a) - text1, (b) - text2, (c) - text3, (d) - text3
我如何申请一个颜色(a) (b)
等部件组成?
正则表达式是:/\([^)]+\)/g;
感谢。
要达到此目的,您可以扩展您的正则表达式来捕获组。然后,您可以使用它将匹配的(X)
值包装到您可以应用某些CSS的span
元素中。试试这个:
$('div').html(function(i, html) {
return html.replace(/(\([^)]+\))/g, "<span>$1</span>");
})
span { color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>(a) - text1, (b) - text2, (c) - text3, (d) - text3</div>
这里是一个天然的JS实现:
var el = document.getElementById('foo');
el.innerHTML = el.innerHTML.replace(/(\([^)]+\))/g, "<span>$1</span>");
span { color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="foo">(a) - text1, (b) - text2, (c) - text3, (d) - text3</div>
谢谢。什么是$ 1?如何用普通的js来做到这一点?谢谢。 –
'$ 1'是正则表达式匹配的第一个组。我更新了答案,包括本地实现 –
我在我的跨度中收到$ 1 ... –
,应用不同色彩的HTML输出你需要包装这些领域在他们自己的元素,即'span'中,并将CSS应用于这些跨度 –
这是一个很棒的解决你能提供一下逻辑吗?谢谢@RoryMcCrossan –
我给你加了一个答案 –