我有以下短语:
The birds fly in the sky near planes.
0123456789012345678901234567890123456
1 2 3
如果我知道短语的开头(14)和结束(23),我如何用TinyMce突出显示in the sky
?
我想使用setRng
方法,但我找不到任何示例代码。
答案 0 :(得分:5)
以下是我提出的解决方案:
var ed = tinyMCE.activeEditor;
var range = ed.selection.getRng();
range.setStart(textNode, start);
range.setEnd(textNode, end);
ed.selection.setRng(range);
其中:
getElementById
或任何其他简写属性(parent
,nextSibling
等)检索的DOM文本节点我更喜欢这个解决方案,因为我只使用 tinyMCE API。我不依赖于可以从浏览器到浏览器改变(在行为中,在错误中......)的对象和方法。
答案 1 :(得分:2)
尝试:
var range = document.createRange(); var start = document.getElementById('tinymce'); //var textNode = start.getElementsByTagName('p')[0].firstChild; //edited var textNode = start.getElementsByTagName('your_tag_where_you_have_the_text')[0].firstChild; range.setStart(textNode, 14); range.setEnd(textNode, 23); window.getSelection().addRange(range);