とりあえず、MSIEでdocument.importNodeを使えるように書いてみたスクリプトを転載。まだ未完成なので、完成までつきあってもらえるとうれしいかも。
if (document.importNode == undefined) {
/* For pre-level-2 DOM: */
document.importNode = function (node, deep) {
if (node == null)
return null;
var value;
switch (node.nodeType) {
case 1: /* Node.ELEMENT_NODE */
value = document.createElement (node.nodeName);
/** @todo attributes */
if (deep) {
for (var i = node.firstChild; i != null; i = i.nextSibling)
value.appendChild (document.importNode (i, true));
}
break;
case 3: /* Node.TEXT_NODE */
value = document.createTextNode (node.nodeValue);
break;
case 4: /* Node.CDATA_SECTION_NODE */
value = document.createCDATASection (node.nodeValue);
break;
case 8: /* Node.COMMENT_NODE */
value = document.createComment (node.nodeValue);
break;
default:
window.alert ("Unexpected Node");
value = document.createComment ("Unexpected Node");
break;
};
return value;
}
}
リンク: テストステージ.