javascript - 查找线条并更改背景颜色

标签 javascript jquery

我正在尝试从我的字符串中逐行着色

如果该行以 - 开头,则该行应为红色,如果该行以 + 开头,则该行应为绿色。

我正在尝试遵循一个,但我应该如何找到该行以 - 开头并为该行着色。

var data = "data {\n  name {\n-     data1; \n-     data2; \n+     data3; \n-     data4\n  }\n  abc {\n+     data5; \n-     data6\n  }\n}"


var res = data.replace(/data1|data2/gi, function myFunction(x){return '<span style="background-color:red;">'+x+'</span>'});

document.getElementById("json").innerHTML = res
<pre id="json"></pre>

最佳答案

+ 在正则表达式中具有特殊含义。您需要使用 \ 来转义。

此外,您还可以选择带有 ^$ anchor 的完整行。

var data = "data {\n  name {\n-     data1; \n-     data2; \n+     data3; \n-     data4\n  }\n  abc {\n+     data5; \n-     data6\n  }\n}"


var res = data.replace(/^-.*$/gim, function myFunction(x) {
  return '<span style="background-color:red;">' + x + '</span>'
});

res = res.replace(/^\+.*$/gim, function myFunction(x) {
  return '<span style="background-color:green;">' + x + '</span>'
});

document.getElementById("json").innerHTML = res
<pre id="json"></pre>

关于javascript - 查找线条并更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47936455/

相关文章:

jquery - 如何使用 Perl 将数据返回到 AJAX 调用?

javascript - 如何在 socket.io 服务器中调用 Node api 响应

javascript - 我可以在 expo 弹出后使用 expo 包吗

javascript - 如何使用 browserify 在客户端 html 文档中使用 Node.js 包

Javascript递增数字

javascript - 在 phonegap 中的 2 个 html 页面之间导航

javascript - 获取项目数 jQuery.each()

javascript - jquery只注册一个id

jquery - id 的每个 child 的选择器

javascript - 在 JavaScript 中检索 R 对象属性