OSDN Git Service

cloneNodeメソッドの修正
authordhrname <dhrname@users.sourceforge.jp>
Sat, 29 Mar 2014 14:25:57 +0000 (23:25 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Sat, 29 Mar 2014 14:25:57 +0000 (23:25 +0900)
org/w3c/core.js

index ac8d679..2745dc3 100644 (file)
@@ -211,6 +211,7 @@ DOMImplementation = {
         s._id = {};  //getElementByIdで使う\r
         s.documentElement = s.createElementNS(ns, qname); //ルート要素を作る\r
         s.documentElement.ownerDocument = s;\r
+        s.childNodes = [];\r
         return s;\r
       } catch(e){}\r
     },\r
@@ -257,6 +258,7 @@ base("$document").mix( {
   nodeName : "#document",\r
   nodeValue : null,\r
   nodeType : /*Node.DOCUMENT_NODE*/ 9,\r
+  childNodes : [],\r
 \r
 /*insertBeforeメソッド\r
  *指定したrefノードの前に、新たなnノードを入れる。貼り付け(ペースト)機能。\r
@@ -386,9 +388,7 @@ base("$document").mix( {
  *ノードのコピーを作る。引数は、子ノードのコピーも作るかどうか。コピー機能。\r
  */\r
 /*Node*/ cloneNode : function( /*boolean*/ deep) {\r
-  return (this.hasOwnProperty("ownerDocument") ?\r
-            this.ownerDocument.importNode(this, deep)\r
-          : base("$document"));\r
+  return this.ownerDocument.importNode(this, deep);\r
 },\r
 /*normalizeメソッド\r
  *二つ以上の重複したテキストノードを一つにまとめる\r