我想取一个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)检索每个元素的当前布局,并将其应用于克隆元素。