1

我正在寻找一种将 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 标记,我现在有多个 TextNode,我需要设置一个范围,从一个开始,到另一个结束。我想如果我可以在 textArea 中获得所有 TextNode 的有序列表,我可以做到这一点,但我不确定如何(或是否)可以获得该列表。

4

2 回答 2

0

为什么不直接设置 ::select 伪样式?

textarea::selection {
background: #abc;
color: #abc;
}

textarea::-moz-selection {
background: #abc;
color: #abc;
}

textarea::-webkit-selection {
background: #abc;
color: #abc;
}
于 2011-06-23T12:37:43.253 回答
0

Rangy 有一个CSS 类应用程序模块,我认为它可以满足您的需求。

于 2012-02-26T12:25:00.733 回答