JQuery方法前置在Internet Explorer中不起作用

时间:2011-10-26 15:53:24

标签: javascript jquery tinymce

我曾经在文本编辑器上工作,并且有一个插件是为了在编辑器中放置页眉和页脚(基本上是一行表)而创建的,其中一个业务规则是不允许移动标题或页脚(我的版本是3.3.8,但我在最后的3.4.6中进行了测试)。

我在basic_config.js中创建了一个方法,基本上在方法“ed.onChange.add(function(ed,l)”中,当用户尝试将表移动到另一个时,重新调整页眉或页脚的位置地方,像这样:

           //find out the div of the header
            var elm = tinyMCE.activeEditor.dom.get("testeHeader");

           //case the elm move of position...
           if(elm != null) {
                var txt = tinyMCE.activeEditor.dom.getOuterHTML(elm);
                $(elm).remove(); 
                //relocates the header to the top does not works on IE8.
                $('#editor1_ifr').contents().find('body').prepend(txt);**
            }

在Firefox中它可以工作但是在Internet Explorer de方法中,前置失败,没有任何事情发生。

这个原因有什么解决方案吗?

感谢所有得到帮助的人!

1 个答案:

答案 0 :(得分:0)

这可能有用。试一试

var txt = tinyMCE.activeEditor.dom.getOuterHTML(elm);
$(elm).remove(); 
//relocates the header to the top does not works on IE8.
var ed = tinyMCE.activeEditor;
var parent = ed.getBody();
parent.insertBefore( $(txt).get(0), parent.childNodes[0] );