按钮事件后突出显示某些范围的tinymce文本

时间:2014-09-23 09:51:42

标签: tinymce

参考几个来源,我把它放到按钮事件中, 给定的,

<textarea id="content" name="content" style="width:400px;height:100px;">
<p><span style="font-weight:bold;font-size:36pt;">Some text <u>here</u> to go.</span></p>
</textarea>

var range = document.createRange();
var start = document.getElementById('tinymce');
var textNode = start.getElementsByTagName('p')[0].firstChild;
range.setStart(textNode, 1);
range.setEnd(textNode, 1);
window.getSelection().addRange(range);

但它在chrome控制台中产生错误: 未捕获的TypeError:无法读取属性&#39; getElementsByTagName&#39;为null

假设我有首先由tinymce产生的tinymce元素。 任何专家都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

错误是由于tinymce id在当前顶级文档中不存在而在iFrame文档中存在的事实引起的。因此,您必须首先访问iFrame并获取文档元素。

var frame= document.getElementById('content_ifr');
var doc = frame.contentWindow.document;
var range = doc.createRange();
var start = doc.getElementById('tinymce');

找到一个工作小提琴HERE