克隆节点时如何保留样式



我想取一个html文档(一本书的章节)并将其分成页面(一个div数组,每个div包含一个html内容页面,该页面将适合div的规定尺寸)。我用下面的代码遍历DOM(可以在这个站点上找到!)

function walk(node, func)
{
    func(node);
    node = node.firstChild;
    while (node)
    {
        walk(node, func);
        node = node.nextSibling;
    }
};

函数名为test,在下面。

function test(node)
{
    var copy=node.cloneNode(false);
    currentPageInArray.appendChild(copy);
    //Test if we still fit
    if( $(currentPageInArray).height() <= maxPageHeight )
    {
        //All good
    }
    else
    {
        //We dont fit anymore 
        //Remove node that made us exceed the height
        currentPageInArray.removeChild(copy);
        createNewPage();
        currentPageInArray.appendChild(copy); //into new page
    }
}

我的页面生成正确,但是,我失去了所有的样式,如斜体,粗体,标题等。如果我尝试clone(true),许多元素会被复制多次。我该如何解决这个问题?

您可以使用currentStyle(IE<9)或getComputedStyle(Others)检索每个元素的当前布局,并将其应用于克隆元素。

相关内容

  • 没有找到相关文章

最新更新