2016-09-23 145 views
2

我有textarea,我想改变所选文字的颜色。 例子:如何更改textarea选定文本的颜色?

var text = "abcdefg"; 

我想更改选定文本efg的颜色。

这里是我的代码:

​​
+0

只能添加样式元素和文本不能有色彩风格。但是你可以使用':: selection' css选择器。请参阅http://www.w3schools.com/cssref/sel_selection.asp – Mohammad

+0

由于textNodes不能具有样式,因此必须将所选文本包装为HTML。 – evolutionxbox

+0

为什么你混合'纯JS&'jQuery'? –

回答

0

你不能改变selection colortextarea,你只能改变它non-input objects

也许你应该尝试,而不是textarea

3

使用::selection CSS选择器中选择文本的一部分seleced contenteditable。您可以将CSS属性添加到选定的元素文本。

var textarea = document.querySelector("textarea"); 
 
textarea.selectionStart = 12; 
 
textarea.selectionEnd = 23;
::-moz-selection { 
 
    color: red; 
 
} 
 
::selection { 
 
    color: red; 
 
}
<textarea>My textarea highlighted text</textarea>

+0

添加到文本的颜色是属于用户的选项。设置这样的CSS是不合适的。 – user2956672

+0

@ user2956672您的工作没有其他解决方案。但是如果你的颜色有限,可以在textarea中添加颜色等级。请参阅https://jsfiddle.net/j62p92fa/ – Mohammad