【问题标题】:Style text inside an HTML textareaHTML 文本区域内的样式文本
【发布时间】:2014-07-06 19:20:28
【问题描述】:

我的问题是我有 textarea 并且想要找到一个指定的字符串并标记它的所有出现(类似于regex101.com 对正则表达式匹配所做的事情)。

这将我引向一个更一般的问题(请参阅我的问题标题),我想了解以下内容是否可以应用于 textarea 内的部分文本:

  • 改变字体颜色
  • 改变背景颜色
  • 更改字体样式(粗体、斜体)
  • 更改字体大小

我应该使用已经存在的东西(比如codemirror)吗?

如果有人能解释这背后的想法,我也将不胜感激(例如 regex101.com 有一个 textarea 但也使用一些 span 元素来突出显示匹配项)

【问题讨论】:

  • 你不能在文本区域中设置段的样式,要么全部要么没有。需要使用其他元素来做到这一点。在您的正则表达式示例中检查实时 html 将看到突出显示在 <pre> 标记中
  • 我认为这可能是一个合适的答案?虽然这不是 Angular,但您仍然可以使用内容可编辑 div 来实现相同的功能。 stackoverflow.com/questions/44373933/…

标签: javascript styles textarea highlight


【解决方案1】:

您是否尝试过这样做:

var textArea = document.getElementById("textArea");
textArea.style.color = 'Red';
textArea.style.backgroundColor = 'Black';

【讨论】:

  • 这将改变整个文本的颜色,而不是它的一部分。 :-)
  • 正确。所以你只想将该样式应用于正则表达式返回的文本,正确
  • 是的,这就是我想要的。
  • 这里有更多正确的方向......jsfiddle.net/ricardolohmann/9Y99F
  • @mwilson 我认为只改变背景的颜色而不是文本本身。
猜你喜欢
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多