我正在寻找一种方法将CSS类应用于HTML文档中的任意文本范围。我正在使用MooTools和rangy库,如果只有一个TextNode可以处理,那么这样的工作就可以了:
createRange: function(start, end) {
var node = this.textArea.childNodes[0]; // textArea is an HTML <span> element
var range = rangy.createRange();
range.setStart(node, start);
range.setStart(node, end);
return range;
}
这给了我一个范围,然后我可以应用CSS类;但是,如果我在TextArea中有任何HTML标记,我现在有多个TextNodes,我需要设置一个从一个开始到另一个结束的范围。如果我能在textArea中获得所有TextNode的有序列表,我想我可以这样做,但我不确定如何(或者如果)我可以获得该列表。
答案 0 :(得分:0)
为什么不只是样式:: select伪?
textarea::selection {
background: #abc;
color: #abc;
}
textarea::-moz-selection {
background: #abc;
color: #abc;
}
textarea::-webkit-selection {
background: #abc;
color: #abc;
}
答案 1 :(得分:0)
Rangy有CSS class applier module,我认为会做你想做的事。