用于IE的Ckeditor重复节点复制器功能

时间:2012-10-25 10:18:14

标签: javascript internet-explorer ckeditor

我有一个节点复制功能。

此函数可能替代IE上的setHtml问题。

我想复制Attributes和innerText(对于EveryNode)。

我的问题是每个节点都有(可能是)文本 +某些节点。

我想将Node By Node复制为下面提到的条件

1.仅当前节点的文本(不是内部节点文本)

2.Child Nodes以其所有属性重复

我的功能如下:

 function NodeDuplicateCreator(DummyNode, RealNode) {
            var XnodefromReal = RealNode.getChildren();
            for (var i = 0; i < XnodefromReal.count(); i++) {
                if (XnodefromReal.getItem(i).$.nodeType == 1) {
                    var xnode = XnodefromReal.getItem(i);
                    var xnodeName = xnode.getName();
                    var NewNodeGen = DummyNode.getElementsByTag(xnodeName).getItem(0);
                    if (NewNodeGen == null) {
                        NewNodeGen = EditorInstance.document.createElement(xnodeName);
                        NewNodeGen.appendTo(DummyNode);
                    }
                    NodeDuplicateCreator(NewNodeGen, xnode);
                }
            }
        }     

请根据我的要求改进......

1 个答案:

答案 0 :(得分:1)

尝试将copyAttributes(node)函数用于属性

尝试下面的代码到textcontent + childnodes

if(XnodefromReal.getItem(i).$.nodeType == 1) 
{
//for childnodes
}
else if(XnodefromReal.getItem(i).$.nodeType == 3) 
{
//for text content
}