/* automatically generated by JSCoverage - do not edit */
try {
  if (typeof top === 'object' && top !== null && typeof top.opener === 'object' && top.opener !== null) {
    // this is a browser window that was opened from another window

    if (! top.opener._$jscoverage) {
      top.opener._$jscoverage = {};
    }
  }
}
catch (e) {}

try {
  if (typeof top === 'object' && top !== null) {
    // this is a browser window

    try {
      if (typeof top.opener === 'object' && top.opener !== null && top.opener._$jscoverage) {
        top._$jscoverage = top.opener._$jscoverage;
      }
    }
    catch (e) {}

    if (! top._$jscoverage) {
      top._$jscoverage = {};
    }
  }
}
catch (e) {}

try {
  if (typeof top === 'object' && top !== null && top._$jscoverage) {
    _$jscoverage = top._$jscoverage;
  }
}
catch (e) {}
if (typeof _$jscoverage !== 'object') {
  _$jscoverage = {};
}
if (! _$jscoverage['core/node.js']) {
  _$jscoverage['core/node.js'] = [];
  _$jscoverage['core/node.js'][15] = 0;
  _$jscoverage['core/node.js'][37] = 0;
  _$jscoverage['core/node.js'][38] = 0;
  _$jscoverage['core/node.js'][39] = 0;
  _$jscoverage['core/node.js'][40] = 0;
  _$jscoverage['core/node.js'][41] = 0;
  _$jscoverage['core/node.js'][42] = 0;
  _$jscoverage['core/node.js'][43] = 0;
  _$jscoverage['core/node.js'][45] = 0;
  _$jscoverage['core/node.js'][48] = 0;
  _$jscoverage['core/node.js'][49] = 0;
  _$jscoverage['core/node.js'][50] = 0;
  _$jscoverage['core/node.js'][53] = 0;
  _$jscoverage['core/node.js'][55] = 0;
  _$jscoverage['core/node.js'][56] = 0;
  _$jscoverage['core/node.js'][62] = 0;
  _$jscoverage['core/node.js'][63] = 0;
  _$jscoverage['core/node.js'][64] = 0;
  _$jscoverage['core/node.js'][66] = 0;
  _$jscoverage['core/node.js'][73] = 0;
  _$jscoverage['core/node.js'][74] = 0;
  _$jscoverage['core/node.js'][79] = 0;
  _$jscoverage['core/node.js'][80] = 0;
  _$jscoverage['core/node.js'][82] = 0;
  _$jscoverage['core/node.js'][84] = 0;
  _$jscoverage['core/node.js'][85] = 0;
  _$jscoverage['core/node.js'][86] = 0;
  _$jscoverage['core/node.js'][88] = 0;
  _$jscoverage['core/node.js'][90] = 0;
  _$jscoverage['core/node.js'][92] = 0;
  _$jscoverage['core/node.js'][93] = 0;
  _$jscoverage['core/node.js'][95] = 0;
  _$jscoverage['core/node.js'][96] = 0;
  _$jscoverage['core/node.js'][98] = 0;
  _$jscoverage['core/node.js'][100] = 0;
  _$jscoverage['core/node.js'][103] = 0;
  _$jscoverage['core/node.js'][104] = 0;
  _$jscoverage['core/node.js'][107] = 0;
  _$jscoverage['core/node.js'][108] = 0;
  _$jscoverage['core/node.js'][109] = 0;
  _$jscoverage['core/node.js'][110] = 0;
  _$jscoverage['core/node.js'][111] = 0;
  _$jscoverage['core/node.js'][112] = 0;
  _$jscoverage['core/node.js'][113] = 0;
  _$jscoverage['core/node.js'][115] = 0;
  _$jscoverage['core/node.js'][117] = 0;
  _$jscoverage['core/node.js'][122] = 0;
  _$jscoverage['core/node.js'][123] = 0;
  _$jscoverage['core/node.js'][124] = 0;
  _$jscoverage['core/node.js'][125] = 0;
  _$jscoverage['core/node.js'][129] = 0;
  _$jscoverage['core/node.js'][130] = 0;
  _$jscoverage['core/node.js'][131] = 0;
  _$jscoverage['core/node.js'][132] = 0;
  _$jscoverage['core/node.js'][133] = 0;
  _$jscoverage['core/node.js'][135] = 0;
  _$jscoverage['core/node.js'][138] = 0;
  _$jscoverage['core/node.js'][139] = 0;
  _$jscoverage['core/node.js'][141] = 0;
  _$jscoverage['core/node.js'][142] = 0;
  _$jscoverage['core/node.js'][143] = 0;
  _$jscoverage['core/node.js'][146] = 0;
  _$jscoverage['core/node.js'][151] = 0;
  _$jscoverage['core/node.js'][152] = 0;
  _$jscoverage['core/node.js'][155] = 0;
  _$jscoverage['core/node.js'][156] = 0;
  _$jscoverage['core/node.js'][157] = 0;
  _$jscoverage['core/node.js'][158] = 0;
  _$jscoverage['core/node.js'][160] = 0;
  _$jscoverage['core/node.js'][161] = 0;
  _$jscoverage['core/node.js'][162] = 0;
  _$jscoverage['core/node.js'][163] = 0;
  _$jscoverage['core/node.js'][169] = 0;
  _$jscoverage['core/node.js'][170] = 0;
  _$jscoverage['core/node.js'][171] = 0;
  _$jscoverage['core/node.js'][173] = 0;
  _$jscoverage['core/node.js'][174] = 0;
  _$jscoverage['core/node.js'][175] = 0;
  _$jscoverage['core/node.js'][180] = 0;
  _$jscoverage['core/node.js'][181] = 0;
  _$jscoverage['core/node.js'][182] = 0;
  _$jscoverage['core/node.js'][183] = 0;
  _$jscoverage['core/node.js'][185] = 0;
  _$jscoverage['core/node.js'][186] = 0;
  _$jscoverage['core/node.js'][187] = 0;
  _$jscoverage['core/node.js'][189] = 0;
  _$jscoverage['core/node.js'][193] = 0;
  _$jscoverage['core/node.js'][198] = 0;
  _$jscoverage['core/node.js'][221] = 0;
  _$jscoverage['core/node.js'][222] = 0;
  _$jscoverage['core/node.js'][223] = 0;
  _$jscoverage['core/node.js'][249] = 0;
  _$jscoverage['core/node.js'][250] = 0;
  _$jscoverage['core/node.js'][252] = 0;
  _$jscoverage['core/node.js'][253] = 0;
  _$jscoverage['core/node.js'][254] = 0;
  _$jscoverage['core/node.js'][255] = 0;
  _$jscoverage['core/node.js'][258] = 0;
  _$jscoverage['core/node.js'][259] = 0;
  _$jscoverage['core/node.js'][260] = 0;
  _$jscoverage['core/node.js'][261] = 0;
  _$jscoverage['core/node.js'][262] = 0;
  _$jscoverage['core/node.js'][264] = 0;
  _$jscoverage['core/node.js'][266] = 0;
  _$jscoverage['core/node.js'][270] = 0;
  _$jscoverage['core/node.js'][297] = 0;
  _$jscoverage['core/node.js'][298] = 0;
  _$jscoverage['core/node.js'][300] = 0;
  _$jscoverage['core/node.js'][301] = 0;
  _$jscoverage['core/node.js'][302] = 0;
  _$jscoverage['core/node.js'][303] = 0;
  _$jscoverage['core/node.js'][306] = 0;
  _$jscoverage['core/node.js'][307] = 0;
  _$jscoverage['core/node.js'][308] = 0;
  _$jscoverage['core/node.js'][310] = 0;
  _$jscoverage['core/node.js'][324] = 0;
  _$jscoverage['core/node.js'][325] = 0;
  _$jscoverage['core/node.js'][326] = 0;
  _$jscoverage['core/node.js'][342] = 0;
  _$jscoverage['core/node.js'][358] = 0;
  _$jscoverage['core/node.js'][371] = 0;
  _$jscoverage['core/node.js'][372] = 0;
  _$jscoverage['core/node.js'][373] = 0;
  _$jscoverage['core/node.js'][374] = 0;
  _$jscoverage['core/node.js'][390] = 0;
  _$jscoverage['core/node.js'][391] = 0;
  _$jscoverage['core/node.js'][392] = 0;
  _$jscoverage['core/node.js'][393] = 0;
  _$jscoverage['core/node.js'][410] = 0;
  _$jscoverage['core/node.js'][411] = 0;
  _$jscoverage['core/node.js'][412] = 0;
  _$jscoverage['core/node.js'][414] = 0;
  _$jscoverage['core/node.js'][415] = 0;
  _$jscoverage['core/node.js'][416] = 0;
  _$jscoverage['core/node.js'][417] = 0;
  _$jscoverage['core/node.js'][418] = 0;
  _$jscoverage['core/node.js'][419] = 0;
  _$jscoverage['core/node.js'][436] = 0;
  _$jscoverage['core/node.js'][437] = 0;
  _$jscoverage['core/node.js'][438] = 0;
  _$jscoverage['core/node.js'][440] = 0;
  _$jscoverage['core/node.js'][441] = 0;
  _$jscoverage['core/node.js'][443] = 0;
  _$jscoverage['core/node.js'][444] = 0;
  _$jscoverage['core/node.js'][445] = 0;
  _$jscoverage['core/node.js'][446] = 0;
  _$jscoverage['core/node.js'][449] = 0;
  _$jscoverage['core/node.js'][450] = 0;
  _$jscoverage['core/node.js'][451] = 0;
  _$jscoverage['core/node.js'][469] = 0;
  _$jscoverage['core/node.js'][470] = 0;
  _$jscoverage['core/node.js'][471] = 0;
  _$jscoverage['core/node.js'][473] = 0;
  _$jscoverage['core/node.js'][474] = 0;
  _$jscoverage['core/node.js'][475] = 0;
  _$jscoverage['core/node.js'][476] = 0;
  _$jscoverage['core/node.js'][477] = 0;
  _$jscoverage['core/node.js'][496] = 0;
  _$jscoverage['core/node.js'][497] = 0;
  _$jscoverage['core/node.js'][498] = 0;
  _$jscoverage['core/node.js'][500] = 0;
  _$jscoverage['core/node.js'][501] = 0;
  _$jscoverage['core/node.js'][502] = 0;
  _$jscoverage['core/node.js'][503] = 0;
  _$jscoverage['core/node.js'][504] = 0;
  _$jscoverage['core/node.js'][523] = 0;
  _$jscoverage['core/node.js'][524] = 0;
  _$jscoverage['core/node.js'][525] = 0;
  _$jscoverage['core/node.js'][526] = 0;
  _$jscoverage['core/node.js'][527] = 0;
  _$jscoverage['core/node.js'][528] = 0;
  _$jscoverage['core/node.js'][529] = 0;
  _$jscoverage['core/node.js'][530] = 0;
  _$jscoverage['core/node.js'][531] = 0;
  _$jscoverage['core/node.js'][535] = 0;
  _$jscoverage['core/node.js'][552] = 0;
  _$jscoverage['core/node.js'][567] = 0;
  _$jscoverage['core/node.js'][568] = 0;
  _$jscoverage['core/node.js'][569] = 0;
  _$jscoverage['core/node.js'][571] = 0;
  _$jscoverage['core/node.js'][572] = 0;
  _$jscoverage['core/node.js'][574] = 0;
  _$jscoverage['core/node.js'][575] = 0;
  _$jscoverage['core/node.js'][576] = 0;
  _$jscoverage['core/node.js'][577] = 0;
  _$jscoverage['core/node.js'][579] = 0;
  _$jscoverage['core/node.js'][583] = 0;
  _$jscoverage['core/node.js'][584] = 0;
  _$jscoverage['core/node.js'][586] = 0;
  _$jscoverage['core/node.js'][602] = 0;
  _$jscoverage['core/node.js'][603] = 0;
  _$jscoverage['core/node.js'][604] = 0;
  _$jscoverage['core/node.js'][605] = 0;
  _$jscoverage['core/node.js'][608] = 0;
  _$jscoverage['core/node.js'][622] = 0;
  _$jscoverage['core/node.js'][623] = 0;
  _$jscoverage['core/node.js'][624] = 0;
  _$jscoverage['core/node.js'][625] = 0;
  _$jscoverage['core/node.js'][626] = 0;
  _$jscoverage['core/node.js'][643] = 0;
  _$jscoverage['core/node.js'][644] = 0;
  _$jscoverage['core/node.js'][645] = 0;
  _$jscoverage['core/node.js'][646] = 0;
  _$jscoverage['core/node.js'][647] = 0;
  _$jscoverage['core/node.js'][648] = 0;
  _$jscoverage['core/node.js'][652] = 0;
  _$jscoverage['core/node.js'][666] = 0;
  _$jscoverage['core/node.js'][667] = 0;
  _$jscoverage['core/node.js'][668] = 0;
  _$jscoverage['core/node.js'][670] = 0;
  _$jscoverage['core/node.js'][671] = 0;
  _$jscoverage['core/node.js'][672] = 0;
  _$jscoverage['core/node.js'][673] = 0;
  _$jscoverage['core/node.js'][675] = 0;
  _$jscoverage['core/node.js'][689] = 0;
  _$jscoverage['core/node.js'][690] = 0;
  _$jscoverage['core/node.js'][691] = 0;
  _$jscoverage['core/node.js'][692] = 0;
  _$jscoverage['core/node.js'][693] = 0;
  _$jscoverage['core/node.js'][698] = 0;
  _$jscoverage['core/node.js'][699] = 0;
  _$jscoverage['core/node.js'][700] = 0;
  _$jscoverage['core/node.js'][702] = 0;
  _$jscoverage['core/node.js'][703] = 0;
  _$jscoverage['core/node.js'][704] = 0;
  _$jscoverage['core/node.js'][707] = 0;
  _$jscoverage['core/node.js'][709] = 0;
  _$jscoverage['core/node.js'][724] = 0;
  _$jscoverage['core/node.js'][725] = 0;
  _$jscoverage['core/node.js'][727] = 0;
}
_$jscoverage['core/node.js'].source = ["<span class=\"c\">/**</span>","<span class=\"c\"> * &#32534;&#36753;&#22120;&#27169;&#25311;&#30340;&#33410;&#28857;&#31867;</span>","<span class=\"c\"> * @file</span>","<span class=\"c\"> * @module UE</span>","<span class=\"c\"> * @class uNode</span>","<span class=\"c\"> * @since 1.2.6.1</span>","<span class=\"c\"> */</span>","","<span class=\"c\">/**</span>","<span class=\"c\"> * UEditor&#20844;&#29992;&#31354;&#38388;&#65292;UEditor&#25152;&#26377;&#30340;&#21151;&#33021;&#37117;&#25346;&#36733;&#22312;&#35813;&#31354;&#38388;&#19979;</span>","<span class=\"c\"> * @unfile</span>","<span class=\"c\"> * @module UE</span>","<span class=\"c\"> */</span>","","<span class=\"k\">(</span><span class=\"k\">function</span> <span class=\"k\">()</span> <span class=\"k\">{</span>","","    <span class=\"c\">/**</span>","<span class=\"c\">     * &#32534;&#36753;&#22120;&#27169;&#25311;&#30340;&#33410;&#28857;&#31867;</span>","<span class=\"c\">     * @unfile</span>","<span class=\"c\">     * @module UE</span>","<span class=\"c\">     * @class uNode</span>","<span class=\"c\">     */</span>","","    <span class=\"c\">/**</span>","<span class=\"c\">     * &#36890;&#36807;&#19968;&#20010;&#38190;&#20540;&#23545;&#65292;&#21019;&#24314;&#19968;&#20010;uNode&#23545;&#35937;</span>","<span class=\"c\">     * @constructor</span>","<span class=\"c\">     * @param { KeyValueMap } &#20256;&#20837;&#35201;&#21019;&#24314;&#30340;uNode&#30340;&#23646;&#24615;</span>","<span class=\"c\">     * @example</span>","<span class=\"c\">     * ```javascript</span>","<span class=\"c\">     * var node = new uNode({</span>","<span class=\"c\">     *     type:'element',</span>","<span class=\"c\">     *     tagName:'span',</span>","<span class=\"c\">     *     attrs:{style:'font-size:14px;'}</span>","<span class=\"c\">     * }</span>","<span class=\"c\">     * ```</span>","<span class=\"c\">     */</span>","    <span class=\"k\">var</span> uNode <span class=\"k\">=</span> UE<span class=\"k\">.</span>uNode <span class=\"k\">=</span> <span class=\"k\">function</span> <span class=\"k\">(</span>obj<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"k\">this</span><span class=\"k\">.</span>type <span class=\"k\">=</span> obj<span class=\"k\">.</span>type<span class=\"k\">;</span>","        <span class=\"k\">this</span><span class=\"k\">.</span>data <span class=\"k\">=</span> obj<span class=\"k\">.</span>data<span class=\"k\">;</span>","        <span class=\"k\">this</span><span class=\"k\">.</span>tagName <span class=\"k\">=</span> obj<span class=\"k\">.</span>tagName<span class=\"k\">;</span>","        <span class=\"k\">this</span><span class=\"k\">.</span>parentNode <span class=\"k\">=</span> obj<span class=\"k\">.</span>parentNode<span class=\"k\">;</span>","        <span class=\"k\">this</span><span class=\"k\">.</span>attrs <span class=\"k\">=</span> obj<span class=\"k\">.</span>attrs <span class=\"k\">||</span> <span class=\"k\">{}</span><span class=\"k\">;</span>","        <span class=\"k\">this</span><span class=\"k\">.</span>children <span class=\"k\">=</span> obj<span class=\"k\">.</span>children<span class=\"k\">;</span>","    <span class=\"k\">}</span><span class=\"k\">;</span>","    <span class=\"k\">var</span> indentChar <span class=\"k\">=</span> <span class=\"s\">'    '</span><span class=\"k\">,</span>","        breakChar <span class=\"k\">=</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span><span class=\"k\">;</span>","","    <span class=\"k\">function</span> insertLine<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">,</span> begin<span class=\"k\">)</span> <span class=\"k\">{</span>","        arr<span class=\"k\">.</span>push<span class=\"k\">(</span>breakChar<span class=\"k\">);</span>","        <span class=\"k\">return</span> current <span class=\"k\">+</span> <span class=\"k\">(</span>begin <span class=\"k\">?</span> <span class=\"s\">1</span> <span class=\"k\">:</span> <span class=\"k\">-</span><span class=\"s\">1</span><span class=\"k\">);</span>","    <span class=\"k\">}</span>","","    <span class=\"k\">function</span> insertIndent<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"c\">//&#25554;&#20837;&#32553;&#36827;</span>","        <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">;</span> i <span class=\"k\">&lt;</span> current<span class=\"k\">;</span> i<span class=\"k\">++)</span> <span class=\"k\">{</span>","            arr<span class=\"k\">.</span>push<span class=\"k\">(</span>indentChar<span class=\"k\">);</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span>","","    <span class=\"c\">//&#21019;&#24314;uNode&#30340;&#38745;&#24577;&#26041;&#27861;</span>","    <span class=\"c\">//&#25903;&#25345;&#26631;&#31614;&#21644;html</span>","    uNode<span class=\"k\">.</span>createElement <span class=\"k\">=</span> <span class=\"k\">function</span> <span class=\"k\">(</span>html<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"s\">/[&lt;&gt;]/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>html<span class=\"k\">))</span> <span class=\"k\">{</span>","            <span class=\"k\">return</span> UE<span class=\"k\">.</span>htmlparser<span class=\"k\">(</span>html<span class=\"k\">).</span>children<span class=\"k\">[</span><span class=\"s\">0</span><span class=\"k\">]</span>","        <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","            <span class=\"k\">return</span> <span class=\"k\">new</span> uNode<span class=\"k\">(</span><span class=\"k\">{</span>","                type<span class=\"k\">:</span> <span class=\"s\">'element'</span><span class=\"k\">,</span>","                children<span class=\"k\">:</span> <span class=\"k\">[],</span>","                tagName<span class=\"k\">:</span> html","            <span class=\"k\">}</span><span class=\"k\">)</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span><span class=\"k\">;</span>","    uNode<span class=\"k\">.</span>createText <span class=\"k\">=</span> <span class=\"k\">function</span> <span class=\"k\">(</span>data<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"k\">return</span> <span class=\"k\">new</span> UE<span class=\"k\">.</span>uNode<span class=\"k\">(</span><span class=\"k\">{</span>","            type<span class=\"k\">:</span> <span class=\"s\">'text'</span><span class=\"k\">,</span>","            <span class=\"s\">'data'</span><span class=\"k\">:</span> utils<span class=\"k\">.</span>unhtml<span class=\"k\">(</span>data <span class=\"k\">||</span> <span class=\"s\">''</span><span class=\"k\">)</span>","        <span class=\"k\">}</span><span class=\"k\">)</span>","    <span class=\"k\">}</span><span class=\"k\">;</span>","    <span class=\"k\">function</span> nodeToHtml<span class=\"k\">(</span>node<span class=\"k\">,</span> arr<span class=\"k\">,</span> formatter<span class=\"k\">,</span> current<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"k\">switch</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>type<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">case</span> <span class=\"s\">'root'</span><span class=\"k\">:</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> node<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                    <span class=\"c\">//&#25554;&#20837;&#26032;&#34892;</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>formatter <span class=\"k\">&amp;&amp;</span> ci<span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'element'</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$inlineWithA<span class=\"k\">[</span>ci<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">&amp;&amp;</span> i <span class=\"k\">&gt;</span> <span class=\"s\">1</span><span class=\"k\">)</span> <span class=\"k\">{</span>","                        insertLine<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">,</span> <span class=\"k\">true</span><span class=\"k\">);</span>","                        insertIndent<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">)</span>","                    <span class=\"k\">}</span>","                    nodeToHtml<span class=\"k\">(</span>ci<span class=\"k\">,</span> arr<span class=\"k\">,</span> formatter<span class=\"k\">,</span> current<span class=\"k\">)</span>","                <span class=\"k\">}</span>","                <span class=\"k\">break</span><span class=\"k\">;</span>","            <span class=\"k\">case</span> <span class=\"s\">'text'</span><span class=\"k\">:</span>","                isText<span class=\"k\">(</span>node<span class=\"k\">,</span> arr<span class=\"k\">);</span>","                <span class=\"k\">break</span><span class=\"k\">;</span>","            <span class=\"k\">case</span> <span class=\"s\">'element'</span><span class=\"k\">:</span>","                isElement<span class=\"k\">(</span>node<span class=\"k\">,</span> arr<span class=\"k\">,</span> formatter<span class=\"k\">,</span> current<span class=\"k\">);</span>","                <span class=\"k\">break</span><span class=\"k\">;</span>","            <span class=\"k\">case</span> <span class=\"s\">'comment'</span><span class=\"k\">:</span>","                isComment<span class=\"k\">(</span>node<span class=\"k\">,</span> arr<span class=\"k\">,</span> formatter<span class=\"k\">);</span>","        <span class=\"k\">}</span>","        <span class=\"k\">return</span> arr<span class=\"k\">;</span>","    <span class=\"k\">}</span>","","    <span class=\"k\">function</span> isText<span class=\"k\">(</span>node<span class=\"k\">,</span> arr<span class=\"k\">)</span> <span class=\"k\">{</span>","        arr<span class=\"k\">.</span>push<span class=\"k\">(</span>node<span class=\"k\">.</span>parentNode<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'pre'</span> <span class=\"k\">?</span> node<span class=\"k\">.</span>data <span class=\"k\">:</span> node<span class=\"k\">.</span>data<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/[ ]{2}/g</span><span class=\"k\">,</span> <span class=\"s\">' &amp;nbsp;'</span><span class=\"k\">))</span>","    <span class=\"k\">}</span>","","    <span class=\"k\">function</span> isElement<span class=\"k\">(</span>node<span class=\"k\">,</span> arr<span class=\"k\">,</span> formatter<span class=\"k\">,</span> current<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"k\">var</span> attrhtml <span class=\"k\">=</span> <span class=\"s\">''</span><span class=\"k\">;</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>attrs<span class=\"k\">)</span> <span class=\"k\">{</span>","            attrhtml <span class=\"k\">=</span> <span class=\"k\">[];</span>","            <span class=\"k\">var</span> attrs <span class=\"k\">=</span> node<span class=\"k\">.</span>attrs<span class=\"k\">;</span>","            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> a <span class=\"k\">in</span> attrs<span class=\"k\">)</span> <span class=\"k\">{</span>","                attrhtml<span class=\"k\">.</span>push<span class=\"k\">(</span>a <span class=\"k\">+</span> <span class=\"k\">(</span>attrs<span class=\"k\">[</span>a<span class=\"k\">]</span> <span class=\"k\">!==</span> undefined <span class=\"k\">?</span> <span class=\"s\">'=\"'</span> <span class=\"k\">+</span> utils<span class=\"k\">.</span>unhtml<span class=\"k\">(</span>attrs<span class=\"k\">[</span>a<span class=\"k\">])</span> <span class=\"k\">+</span> <span class=\"s\">'\"'</span> <span class=\"k\">:</span> <span class=\"s\">''</span><span class=\"k\">))</span>","            <span class=\"k\">}</span>","            attrhtml <span class=\"k\">=</span> attrhtml<span class=\"k\">.</span>join<span class=\"k\">(</span><span class=\"s\">' '</span><span class=\"k\">);</span>","        <span class=\"k\">}</span>","        arr<span class=\"k\">.</span>push<span class=\"k\">(</span><span class=\"s\">'&lt;'</span> <span class=\"k\">+</span> node<span class=\"k\">.</span>tagName <span class=\"k\">+</span>","            <span class=\"k\">(</span>attrhtml <span class=\"k\">?</span> <span class=\"s\">' '</span> <span class=\"k\">+</span> attrhtml <span class=\"k\">:</span> <span class=\"s\">''</span><span class=\"k\">)</span> <span class=\"k\">+</span>","            <span class=\"k\">(</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">?</span> <span class=\"s\">'</span><span class=\"t\">\\/</span><span class=\"s\">'</span> <span class=\"k\">:</span> <span class=\"s\">''</span> <span class=\"k\">)</span> <span class=\"k\">+</span> <span class=\"s\">'&gt;'</span>","        <span class=\"k\">);</span>","        <span class=\"c\">//&#25554;&#20837;&#26032;&#34892;</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span>formatter <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$inlineWithA<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">&amp;&amp;</span> node<span class=\"k\">.</span>tagName <span class=\"k\">!=</span> <span class=\"s\">'pre'</span><span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> node<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","                current <span class=\"k\">=</span> insertLine<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">,</span> <span class=\"k\">true</span><span class=\"k\">);</span>","                insertIndent<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">)</span>","            <span class=\"k\">}</span>","","        <span class=\"k\">}</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> node<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> node<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>formatter <span class=\"k\">&amp;&amp;</span> ci<span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'element'</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$inlineWithA<span class=\"k\">[</span>ci<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">&amp;&amp;</span> i <span class=\"k\">&gt;</span> <span class=\"s\">1</span><span class=\"k\">)</span> <span class=\"k\">{</span>","                    insertLine<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">);</span>","                    insertIndent<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">)</span>","                <span class=\"k\">}</span>","                nodeToHtml<span class=\"k\">(</span>ci<span class=\"k\">,</span> arr<span class=\"k\">,</span> formatter<span class=\"k\">,</span> current<span class=\"k\">)</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span>","        <span class=\"k\">if</span> <span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>formatter <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$inlineWithA<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">&amp;&amp;</span> node<span class=\"k\">.</span>tagName <span class=\"k\">!=</span> <span class=\"s\">'pre'</span><span class=\"k\">)</span> <span class=\"k\">{</span>","","                <span class=\"k\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> node<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","                    current <span class=\"k\">=</span> insertLine<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">);</span>","                    insertIndent<span class=\"k\">(</span>arr<span class=\"k\">,</span> current<span class=\"k\">)</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","            arr<span class=\"k\">.</span>push<span class=\"k\">(</span><span class=\"s\">'&lt;</span><span class=\"t\">\\/</span><span class=\"s\">'</span> <span class=\"k\">+</span> node<span class=\"k\">.</span>tagName <span class=\"k\">+</span> <span class=\"s\">'&gt;'</span><span class=\"k\">);</span>","        <span class=\"k\">}</span>","","    <span class=\"k\">}</span>","","    <span class=\"k\">function</span> isComment<span class=\"k\">(</span>node<span class=\"k\">,</span> arr<span class=\"k\">)</span> <span class=\"k\">{</span>","        arr<span class=\"k\">.</span>push<span class=\"k\">(</span><span class=\"s\">'&lt;!--'</span> <span class=\"k\">+</span> node<span class=\"k\">.</span>data <span class=\"k\">+</span> <span class=\"s\">'--&gt;'</span><span class=\"k\">);</span>","    <span class=\"k\">}</span>","","    <span class=\"k\">function</span> getNodeById<span class=\"k\">(</span>root<span class=\"k\">,</span> id<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"k\">var</span> node<span class=\"k\">;</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span>root<span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'element'</span> <span class=\"k\">&amp;&amp;</span> root<span class=\"k\">.</span>getAttr<span class=\"k\">(</span><span class=\"s\">'id'</span><span class=\"k\">)</span> <span class=\"k\">==</span> id<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">return</span> root<span class=\"k\">;</span>","        <span class=\"k\">}</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span>root<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> root<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> root<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>node <span class=\"k\">=</span> getNodeById<span class=\"k\">(</span>ci<span class=\"k\">,</span> id<span class=\"k\">))</span> <span class=\"k\">{</span>","                    <span class=\"k\">return</span> node<span class=\"k\">;</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span>","","    <span class=\"k\">function</span> getNodesByTagName<span class=\"k\">(</span>node<span class=\"k\">,</span> tagName<span class=\"k\">,</span> arr<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'element'</span> <span class=\"k\">&amp;&amp;</span> node<span class=\"k\">.</span>tagName <span class=\"k\">==</span> tagName<span class=\"k\">)</span> <span class=\"k\">{</span>","            arr<span class=\"k\">.</span>push<span class=\"k\">(</span>node<span class=\"k\">);</span>","        <span class=\"k\">}</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> node<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> node<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                getNodesByTagName<span class=\"k\">(</span>ci<span class=\"k\">,</span> tagName<span class=\"k\">,</span> arr<span class=\"k\">)</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span>","","    <span class=\"k\">function</span> nodeTraversal<span class=\"k\">(</span>root<span class=\"k\">,</span> fn<span class=\"k\">)</span> <span class=\"k\">{</span>","        <span class=\"k\">if</span> <span class=\"k\">(</span>root<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> root<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> root<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];)</span> <span class=\"k\">{</span>","                nodeTraversal<span class=\"k\">(</span>ci<span class=\"k\">,</span> fn<span class=\"k\">);</span>","                <span class=\"c\">//ci&#34987;&#26367;&#25442;&#30340;&#24773;&#20917;&#65292;&#36825;&#37324;&#23601;&#19981;&#20877;&#36208; fn&#20102;</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>ci<span class=\"k\">.</span>parentNode<span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>ci<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> ci<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","                        fn<span class=\"k\">(</span>ci<span class=\"k\">)</span>","                    <span class=\"k\">}</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>ci<span class=\"k\">.</span>parentNode<span class=\"k\">)</span> i<span class=\"k\">++</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","            fn<span class=\"k\">(</span>root<span class=\"k\">)</span>","        <span class=\"k\">}</span>","","    <span class=\"k\">}</span>","","    uNode<span class=\"k\">.</span>prototype <span class=\"k\">=</span> <span class=\"k\">{</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#24403;&#21069;&#33410;&#28857;&#23545;&#35937;&#65292;&#36716;&#25442;&#25104;html&#25991;&#26412;</span>","<span class=\"c\">         * @method toHtml</span>","<span class=\"c\">         * @return { String } &#36820;&#22238;&#36716;&#25442;&#21518;&#30340;html&#23383;&#31526;&#20018;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.toHtml();</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#24403;&#21069;&#33410;&#28857;&#23545;&#35937;&#65292;&#36716;&#25442;&#25104;html&#25991;&#26412;</span>","<span class=\"c\">         * @method toHtml</span>","<span class=\"c\">         * @param { Boolean } formatter &#26159;&#21542;&#26684;&#24335;&#21270;&#36820;&#22238;&#20540;</span>","<span class=\"c\">         * @return { String } &#36820;&#22238;&#36716;&#25442;&#21518;&#30340;html&#23383;&#31526;&#20018;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.toHtml();</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        toHtml<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>formatter<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">var</span> arr <span class=\"k\">=</span> <span class=\"k\">[];</span>","            nodeToHtml<span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">,</span> arr<span class=\"k\">,</span> formatter<span class=\"k\">,</span> <span class=\"s\">0</span><span class=\"k\">);</span>","            <span class=\"k\">return</span> arr<span class=\"k\">.</span>join<span class=\"k\">(</span><span class=\"s\">''</span><span class=\"k\">)</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#33410;&#28857;&#30340;html&#20869;&#23481;</span>","<span class=\"c\">         * @method innerHTML</span>","<span class=\"c\">         * @warning &#20551;&#22914;&#33410;&#28857;&#30340;type&#19981;&#26159;'element'&#65292;&#25110;&#33410;&#28857;&#30340;&#26631;&#31614;&#21517;&#31216;&#19981;&#22312;dtd&#21015;&#34920;&#37324;&#65292;&#30452;&#25509;&#21453;&#24724;&#24403;&#21069;&#33410;&#28857;</span>","<span class=\"c\">         * @return { String } &#36820;&#22238;&#33410;&#28857;&#30340;html&#20869;&#23481;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * var htmlstr = node.innerHTML();</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#35774;&#32622;&#33410;&#28857;&#30340;html&#20869;&#23481;</span>","<span class=\"c\">         * @method innerHTML</span>","<span class=\"c\">         * @warning &#20551;&#22914;&#33410;&#28857;&#30340;type&#19981;&#26159;'element'&#65292;&#25110;&#33410;&#28857;&#30340;&#26631;&#31614;&#21517;&#31216;&#19981;&#22312;dtd&#21015;&#34920;&#37324;&#65292;&#30452;&#25509;&#21453;&#24724;&#24403;&#21069;&#33410;&#28857;</span>","<span class=\"c\">         * @param { String } htmlstr &#20256;&#20837;&#35201;&#35774;&#32622;&#30340;html&#20869;&#23481;</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#33410;&#28857;&#26412;&#36523;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.innerHTML('&lt;span&gt;text&lt;/span&gt;');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        innerHTML<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>htmlstr<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>type <span class=\"k\">!=</span> <span class=\"s\">'element'</span> <span class=\"k\">||</span> dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span><span class=\"k\">this</span><span class=\"k\">.</span>tagName<span class=\"k\">])</span> <span class=\"k\">{</span>","                <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">;</span>","            <span class=\"k\">}</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>utils<span class=\"k\">.</span>isString<span class=\"k\">(</span>htmlstr<span class=\"k\">))</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                        ci<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","                <span class=\"k\">this</span><span class=\"k\">.</span>children <span class=\"k\">=</span> <span class=\"k\">[];</span>","                <span class=\"k\">var</span> tmpRoot <span class=\"k\">=</span> UE<span class=\"k\">.</span>htmlparser<span class=\"k\">(</span>htmlstr<span class=\"k\">);</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> tmpRoot<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                    <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>push<span class=\"k\">(</span>ci<span class=\"k\">);</span>","                    ci<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","                <span class=\"k\">}</span>","                <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">;</span>","            <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                <span class=\"k\">var</span> tmpRoot <span class=\"k\">=</span> <span class=\"k\">new</span> UE<span class=\"k\">.</span>uNode<span class=\"k\">(</span><span class=\"k\">{</span>","                    type<span class=\"k\">:</span> <span class=\"s\">'root'</span><span class=\"k\">,</span>","                    children<span class=\"k\">:</span> <span class=\"k\">this</span><span class=\"k\">.</span>children","                <span class=\"k\">}</span><span class=\"k\">);</span>","                <span class=\"k\">return</span> tmpRoot<span class=\"k\">.</span>toHtml<span class=\"k\">();</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#33410;&#28857;&#30340;&#32431;&#25991;&#26412;&#20869;&#23481;</span>","<span class=\"c\">         * @method innerText</span>","<span class=\"c\">         * @warning &#20551;&#22914;&#33410;&#28857;&#30340;type&#19981;&#26159;'element'&#65292;&#25110;&#33410;&#28857;&#30340;&#26631;&#31614;&#21517;&#31216;&#19981;&#22312;dtd&#21015;&#34920;&#37324;&#65292;&#30452;&#25509;&#21453;&#24724;&#24403;&#21069;&#33410;&#28857;</span>","<span class=\"c\">         * @return { String } &#36820;&#22238;&#33410;&#28857;&#30340;&#23384;&#25991;&#26412;&#20869;&#23481;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * var textStr = node.innerText();</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#33410;&#28857;&#30340;&#32431;&#25991;&#26412;&#20869;&#23481;</span>","<span class=\"c\">         * @method innerText</span>","<span class=\"c\">         * @warning &#20551;&#22914;&#33410;&#28857;&#30340;type&#19981;&#26159;'element'&#65292;&#25110;&#33410;&#28857;&#30340;&#26631;&#31614;&#21517;&#31216;&#19981;&#22312;dtd&#21015;&#34920;&#37324;&#65292;&#30452;&#25509;&#21453;&#24724;&#24403;&#21069;&#33410;&#28857;</span>","<span class=\"c\">         * @param { String } textStr &#20256;&#20837;&#35201;&#35774;&#32622;&#30340;&#25991;&#26412;&#20869;&#23481;</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#33410;&#28857;&#26412;&#36523;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.innerText('&lt;span&gt;text&lt;/span&gt;');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        innerText<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>textStr<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>type <span class=\"k\">!=</span> <span class=\"s\">'element'</span> <span class=\"k\">||</span> dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span><span class=\"k\">this</span><span class=\"k\">.</span>tagName<span class=\"k\">])</span> <span class=\"k\">{</span>","                <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">;</span>","            <span class=\"k\">}</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>textStr<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                        ci<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","                <span class=\"k\">this</span><span class=\"k\">.</span>children <span class=\"k\">=</span> <span class=\"k\">[];</span>","                <span class=\"k\">this</span><span class=\"k\">.</span>appendChild<span class=\"k\">(</span>uNode<span class=\"k\">.</span>createText<span class=\"k\">(</span>textStr<span class=\"k\">));</span>","                <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">;</span>","            <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">.</span>toHtml<span class=\"k\">().</span>replace<span class=\"k\">(</span><span class=\"s\">/&lt;[^&gt;]+&gt;/g</span><span class=\"k\">,</span> <span class=\"s\">''</span><span class=\"k\">);</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#24403;&#21069;&#23545;&#35937;&#30340;data&#23646;&#24615;</span>","<span class=\"c\">         * @method getData</span>","<span class=\"c\">         * @return { KeyValueMap } &#33509;&#33410;&#28857;&#30340;type&#20540;&#26159;elemenet&#65292;&#36820;&#22238;&#31354;&#23383;&#31526;&#20018;&#65292;&#21542;&#21017;&#36820;&#22238;&#33410;&#28857;&#30340;data&#23646;&#24615;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.getData();</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        getData<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'element'</span><span class=\"k\">)</span>","                <span class=\"k\">return</span> <span class=\"s\">''</span><span class=\"k\">;</span>","            <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">.</span>data","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#24403;&#21069;&#33410;&#28857;&#19979;&#30340;&#31532;&#19968;&#20010;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * @method firstChild</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#31532;&#19968;&#20010;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.firstChild(); //&#36820;&#22238;&#31532;&#19968;&#20010;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        firstChild<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span> <span class=\"k\">{</span>","<span class=\"c\">//            if (this.type != 'element' || dtd.$empty[this.tagName]) {</span>","<span class=\"c\">//                return this;</span>","<span class=\"c\">//            }</span>","            <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">.</span>children <span class=\"k\">?</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span><span class=\"s\">0</span><span class=\"k\">]</span> <span class=\"k\">:</span> <span class=\"k\">null</span><span class=\"k\">;</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#24403;&#21069;&#33410;&#28857;&#19979;&#30340;&#26368;&#21518;&#19968;&#20010;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * @method lastChild</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#26368;&#21518;&#19968;&#20010;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.lastChild(); //&#36820;&#22238;&#26368;&#21518;&#19968;&#20010;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        lastChild<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span> <span class=\"k\">{</span>","<span class=\"c\">//            if (this.type != 'element' || dtd.$empty[this.tagName] ) {</span>","<span class=\"c\">//                return this;</span>","<span class=\"c\">//            }</span>","            <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">.</span>children <span class=\"k\">?</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span><span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>length <span class=\"k\">-</span> <span class=\"s\">1</span><span class=\"k\">]</span> <span class=\"k\">:</span> <span class=\"k\">null</span><span class=\"k\">;</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#21644;&#24403;&#21069;&#33410;&#28857;&#26377;&#30456;&#21516;&#29238;&#20146;&#33410;&#28857;&#30340;&#21069;&#19968;&#20010;&#33410;&#28857;</span>","<span class=\"c\">         * @method previousSibling</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#21069;&#19968;&#20010;&#33410;&#28857;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.children[2].previousSibling(); //&#36820;&#22238;&#23376;&#33410;&#28857;node.children[1]</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        previousSibling<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span> <span class=\"k\">{</span>","            <span class=\"k\">var</span> parent <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>parentNode<span class=\"k\">;</span>","            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> parent<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];</span> i<span class=\"k\">++)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>ci <span class=\"k\">===</span> <span class=\"k\">this</span><span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">return</span> i <span class=\"k\">==</span> <span class=\"s\">0</span> <span class=\"k\">?</span> <span class=\"k\">null</span> <span class=\"k\">:</span> parent<span class=\"k\">.</span>children<span class=\"k\">[</span>i <span class=\"k\">-</span> <span class=\"s\">1</span><span class=\"k\">];</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#21644;&#24403;&#21069;&#33410;&#28857;&#26377;&#30456;&#21516;&#29238;&#20146;&#33410;&#28857;&#30340;&#21518;&#19968;&#20010;&#33410;&#28857;</span>","<span class=\"c\">         * @method nextSibling</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#21518;&#19968;&#20010;&#33410;&#28857;,&#25214;&#19981;&#21040;&#36820;&#22238;null</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.children[2].nextSibling(); //&#22914;&#26524;&#26377;&#65292;&#36820;&#22238;&#23376;&#33410;&#28857;node.children[3]</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        nextSibling<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span> <span class=\"k\">{</span>","            <span class=\"k\">var</span> parent <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>parentNode<span class=\"k\">;</span>","            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> parent<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>ci <span class=\"k\">===</span> <span class=\"k\">this</span><span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">return</span> parent<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#29992;&#26032;&#30340;&#33410;&#28857;&#26367;&#25442;&#24403;&#21069;&#33410;&#28857;</span>","<span class=\"c\">         * @method replaceChild</span>","<span class=\"c\">         * @param { UE.uNode } target &#35201;&#26367;&#25442;&#25104;&#35813;&#33410;&#28857;&#21442;&#25968;</span>","<span class=\"c\">         * @param { UE.uNode } source &#35201;&#34987;&#26367;&#25442;&#25481;&#30340;&#33410;&#28857;</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#26367;&#25442;&#20043;&#21518;&#30340;&#33410;&#28857;&#23545;&#35937;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.replaceChild(newNode, childNode); //&#29992;newNode&#26367;&#25442;childNode,childNode&#26159;node&#30340;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        replaceChild<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>target<span class=\"k\">,</span> source<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>target<span class=\"k\">.</span>parentNode<span class=\"k\">)</span> <span class=\"k\">{</span>","                    target<span class=\"k\">.</span>parentNode<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>target<span class=\"k\">);</span>","                <span class=\"k\">}</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];</span> i<span class=\"k\">++)</span> <span class=\"k\">{</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>ci <span class=\"k\">===</span> source<span class=\"k\">)</span> <span class=\"k\">{</span>","                        <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>splice<span class=\"k\">(</span>i<span class=\"k\">,</span> <span class=\"s\">1</span><span class=\"k\">,</span> target<span class=\"k\">);</span>","                        source<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                        target<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","                        <span class=\"k\">return</span> target<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#22312;&#33410;&#28857;&#30340;&#23376;&#33410;&#28857;&#21015;&#34920;&#26368;&#21518;&#20301;&#32622;&#25554;&#20837;&#19968;&#20010;&#33410;&#28857;</span>","<span class=\"c\">         * @method appendChild</span>","<span class=\"c\">         * @param { UE.uNode } node &#35201;&#25554;&#20837;&#30340;&#33410;&#28857;</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#21018;&#25554;&#20837;&#30340;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.appendChild( newNode ); //&#22312;node&#20869;&#25554;&#20837;&#23376;&#33410;&#28857;newNode</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        appendChild<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>node<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'root'</span> <span class=\"k\">||</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'element'</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span><span class=\"k\">this</span><span class=\"k\">.</span>tagName<span class=\"k\">]))</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(!</span><span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">this</span><span class=\"k\">.</span>children <span class=\"k\">=</span> <span class=\"k\">[]</span>","                <span class=\"k\">}</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>parentNode<span class=\"k\">)</span> <span class=\"k\">{</span>","                    node<span class=\"k\">.</span>parentNode<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>node<span class=\"k\">);</span>","                <span class=\"k\">}</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];</span> i<span class=\"k\">++)</span> <span class=\"k\">{</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>ci <span class=\"k\">===</span> node<span class=\"k\">)</span> <span class=\"k\">{</span>","                        <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>splice<span class=\"k\">(</span>i<span class=\"k\">,</span> <span class=\"s\">1</span><span class=\"k\">);</span>","                        <span class=\"k\">break</span><span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","                <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>push<span class=\"k\">(</span>node<span class=\"k\">);</span>","                node<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","                <span class=\"k\">return</span> node<span class=\"k\">;</span>","            <span class=\"k\">}</span>","","","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#22312;&#20256;&#20837;&#33410;&#28857;&#30340;&#21069;&#38754;&#25554;&#20837;&#19968;&#20010;&#33410;&#28857;</span>","<span class=\"c\">         * @method insertBefore</span>","<span class=\"c\">         * @param { UE.uNode } target &#35201;&#25554;&#20837;&#30340;&#33410;&#28857;</span>","<span class=\"c\">         * @param { UE.uNode } source &#22312;&#35813;&#21442;&#25968;&#33410;&#28857;&#21069;&#38754;&#25554;&#20837;</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#21018;&#25554;&#20837;&#30340;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.parentNode.insertBefore(newNode, node); //&#22312;node&#33410;&#28857;&#21518;&#38754;&#25554;&#20837;newNode</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        insertBefore<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>target<span class=\"k\">,</span> source<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>target<span class=\"k\">.</span>parentNode<span class=\"k\">)</span> <span class=\"k\">{</span>","                    target<span class=\"k\">.</span>parentNode<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>target<span class=\"k\">);</span>","                <span class=\"k\">}</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];</span> i<span class=\"k\">++)</span> <span class=\"k\">{</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>ci <span class=\"k\">===</span> source<span class=\"k\">)</span> <span class=\"k\">{</span>","                        <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>splice<span class=\"k\">(</span>i<span class=\"k\">,</span> <span class=\"s\">0</span><span class=\"k\">,</span> target<span class=\"k\">);</span>","                        target<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","                        <span class=\"k\">return</span> target<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#22312;&#20256;&#20837;&#33410;&#28857;&#30340;&#21518;&#38754;&#25554;&#20837;&#19968;&#20010;&#33410;&#28857;</span>","<span class=\"c\">         * @method insertAfter</span>","<span class=\"c\">         * @param { UE.uNode } target &#35201;&#25554;&#20837;&#30340;&#33410;&#28857;</span>","<span class=\"c\">         * @param { UE.uNode } source &#22312;&#35813;&#21442;&#25968;&#33410;&#28857;&#21518;&#38754;&#25554;&#20837;</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#21018;&#25554;&#20837;&#30340;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.parentNode.insertAfter(newNode, node); //&#22312;node&#33410;&#28857;&#21518;&#38754;&#25554;&#20837;newNode</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        insertAfter<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>target<span class=\"k\">,</span> source<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>target<span class=\"k\">.</span>parentNode<span class=\"k\">)</span> <span class=\"k\">{</span>","                    target<span class=\"k\">.</span>parentNode<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>target<span class=\"k\">);</span>","                <span class=\"k\">}</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];</span> i<span class=\"k\">++)</span> <span class=\"k\">{</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>ci <span class=\"k\">===</span> source<span class=\"k\">)</span> <span class=\"k\">{</span>","                        <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>splice<span class=\"k\">(</span>i <span class=\"k\">+</span> <span class=\"s\">1</span><span class=\"k\">,</span> <span class=\"s\">0</span><span class=\"k\">,</span> target<span class=\"k\">);</span>","                        target<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","                        <span class=\"k\">return</span> target<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#20174;&#24403;&#21069;&#33410;&#28857;&#30340;&#23376;&#33410;&#28857;&#21015;&#34920;&#20013;&#65292;&#31227;&#38500;&#33410;&#28857;</span>","<span class=\"c\">         * @method removeChild</span>","<span class=\"c\">         * @param { UE.uNode } node &#35201;&#31227;&#38500;&#30340;&#33410;&#28857;&#24341;&#29992;</span>","<span class=\"c\">         * @param { Boolean } keepChildren &#26159;&#21542;&#20445;&#30041;&#31227;&#38500;&#33410;&#28857;&#30340;&#23376;&#33410;&#28857;&#65292;&#33509;&#20256;&#20837;true&#65292;&#33258;&#21160;&#25226;&#31227;&#38500;&#33410;&#28857;&#30340;&#23376;&#33410;&#28857;&#25554;&#20837;&#21040;&#31227;&#38500;&#30340;&#20301;&#32622;</span>","<span class=\"c\">         * @return { * } &#36820;&#22238;&#21018;&#31227;&#38500;&#30340;&#23376;&#33410;&#28857;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.removeChild(childNode,true); //&#22312;node&#30340;&#23376;&#33410;&#28857;&#21015;&#34920;&#20013;&#31227;&#38500;child&#33410;&#28857;&#65292;&#24182;&#19988;&#21543;child&#30340;&#23376;&#33410;&#28857;&#25554;&#20837;&#21040;&#31227;&#38500;&#30340;&#20301;&#32622;</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        removeChild<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>node<span class=\"k\">,</span> keepChildren<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];</span> i<span class=\"k\">++)</span> <span class=\"k\">{</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>ci <span class=\"k\">===</span> node<span class=\"k\">)</span> <span class=\"k\">{</span>","                        <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>splice<span class=\"k\">(</span>i<span class=\"k\">,</span> <span class=\"s\">1</span><span class=\"k\">);</span>","                        ci<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                        <span class=\"k\">if</span> <span class=\"k\">(</span>keepChildren <span class=\"k\">&amp;&amp;</span> ci<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> ci<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","                            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> j <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> cj<span class=\"k\">;</span> cj <span class=\"k\">=</span> ci<span class=\"k\">.</span>children<span class=\"k\">[</span>j<span class=\"k\">];</span> j<span class=\"k\">++)</span> <span class=\"k\">{</span>","                                <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>splice<span class=\"k\">(</span>i <span class=\"k\">+</span> j<span class=\"k\">,</span> <span class=\"s\">0</span><span class=\"k\">,</span> cj<span class=\"k\">);</span>","                                cj<span class=\"k\">.</span>parentNode <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","","                            <span class=\"k\">}</span>","                        <span class=\"k\">}</span>","                        <span class=\"k\">return</span> ci<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#24403;&#21069;&#33410;&#28857;&#25152;&#20195;&#34920;&#30340;&#20803;&#32032;&#23646;&#24615;&#65292;&#21363;&#33719;&#21462;attrs&#23545;&#35937;&#19979;&#30340;&#23646;&#24615;&#20540;</span>","<span class=\"c\">         * @method getAttr</span>","<span class=\"c\">         * @param { String } attrName &#35201;&#33719;&#21462;&#30340;&#23646;&#24615;&#21517;&#31216;</span>","<span class=\"c\">         * @return { * } &#36820;&#22238;attrs&#23545;&#35937;&#19979;&#30340;&#23646;&#24615;&#20540;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.getAttr('title');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        getAttr<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>attrName<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">.</span>attrs <span class=\"k\">&amp;&amp;</span> <span class=\"k\">this</span><span class=\"k\">.</span>attrs<span class=\"k\">[</span>attrName<span class=\"k\">.</span>toLowerCase<span class=\"k\">()]</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#35774;&#32622;&#24403;&#21069;&#33410;&#28857;&#25152;&#20195;&#34920;&#30340;&#20803;&#32032;&#23646;&#24615;&#65292;&#21363;&#35774;&#32622;attrs&#23545;&#35937;&#19979;&#30340;&#23646;&#24615;&#20540;</span>","<span class=\"c\">         * @method getAttr</span>","<span class=\"c\">         * @param { String } attrName &#35201;&#35774;&#32622;&#30340;&#23646;&#24615;&#21517;&#31216;</span>","<span class=\"c\">         * @param { * } attrVal &#35201;&#35774;&#32622;&#30340;&#23646;&#24615;&#20540;&#65292;&#31867;&#22411;&#35270;&#35774;&#32622;&#30340;&#23646;&#24615;&#32780;&#23450;</span>","<span class=\"c\">         * @return { * } &#36820;&#22238;attrs&#23545;&#35937;&#19979;&#30340;&#23646;&#24615;&#20540;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.setAttr('title','&#26631;&#39064;');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        setAttr<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>attrName<span class=\"k\">,</span> attrVal<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(!</span>attrName<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">delete</span> <span class=\"k\">this</span><span class=\"k\">.</span>attrs<span class=\"k\">;</span>","                <span class=\"k\">return</span><span class=\"k\">;</span>","            <span class=\"k\">}</span>","            <span class=\"k\">if</span> <span class=\"k\">(!</span><span class=\"k\">this</span><span class=\"k\">.</span>attrs<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">this</span><span class=\"k\">.</span>attrs <span class=\"k\">=</span> <span class=\"k\">{}</span><span class=\"k\">;</span>","            <span class=\"k\">}</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>utils<span class=\"k\">.</span>isObject<span class=\"k\">(</span>attrName<span class=\"k\">))</span> <span class=\"k\">{</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> a <span class=\"k\">in</span> attrName<span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">if</span> <span class=\"k\">(!</span>attrName<span class=\"k\">[</span>a<span class=\"k\">])</span> <span class=\"k\">{</span>","                        <span class=\"k\">delete</span> <span class=\"k\">this</span><span class=\"k\">.</span>attrs<span class=\"k\">[</span>a<span class=\"k\">]</span>","                    <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                        <span class=\"k\">this</span><span class=\"k\">.</span>attrs<span class=\"k\">[</span>a<span class=\"k\">.</span>toLowerCase<span class=\"k\">()]</span> <span class=\"k\">=</span> attrName<span class=\"k\">[</span>a<span class=\"k\">];</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(!</span>attrVal<span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">delete</span> <span class=\"k\">this</span><span class=\"k\">.</span>attrs<span class=\"k\">[</span>attrName<span class=\"k\">]</span>","                <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                    <span class=\"k\">this</span><span class=\"k\">.</span>attrs<span class=\"k\">[</span>attrName<span class=\"k\">.</span>toLowerCase<span class=\"k\">()]</span> <span class=\"k\">=</span> attrVal<span class=\"k\">;</span>","                <span class=\"k\">}</span>","","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#33719;&#21462;&#24403;&#21069;&#33410;&#28857;&#22312;&#29238;&#33410;&#28857;&#19979;&#30340;&#20301;&#32622;&#32034;&#24341;</span>","<span class=\"c\">         * @method getIndex</span>","<span class=\"c\">         * @return { Number } &#36820;&#22238;&#32034;&#24341;&#25968;&#20540;&#65292;&#22914;&#26524;&#27809;&#26377;&#29238;&#33410;&#28857;&#65292;&#36820;&#22238;-1</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.getIndex();</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        getIndex<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span> <span class=\"k\">{</span>","            <span class=\"k\">var</span> parent <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>parentNode<span class=\"k\">;</span>","            <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> parent<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">];</span> i<span class=\"k\">++)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>ci <span class=\"k\">===</span> <span class=\"k\">this</span><span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">return</span> i<span class=\"k\">;</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","            <span class=\"k\">return</span> <span class=\"k\">-</span><span class=\"s\">1</span><span class=\"k\">;</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#22312;&#24403;&#21069;&#33410;&#28857;&#19979;&#65292;&#26681;&#25454;id&#26597;&#25214;&#33410;&#28857;</span>","<span class=\"c\">         * @method getNodeById</span>","<span class=\"c\">         * @param { String } id &#35201;&#26597;&#25214;&#30340;id</span>","<span class=\"c\">         * @return { UE.uNode } &#36820;&#22238;&#25214;&#21040;&#30340;&#33410;&#28857;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.getNodeById('textId');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        getNodeById<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>id<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">var</span> node<span class=\"k\">;</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span>node <span class=\"k\">=</span> getNodeById<span class=\"k\">(</span>ci<span class=\"k\">,</span> id<span class=\"k\">))</span> <span class=\"k\">{</span>","                        <span class=\"k\">return</span> node<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#22312;&#24403;&#21069;&#33410;&#28857;&#19979;&#65292;&#26681;&#25454;&#20803;&#32032;&#21517;&#31216;&#26597;&#25214;&#33410;&#28857;&#21015;&#34920;</span>","<span class=\"c\">         * @method getNodeById</span>","<span class=\"c\">         * @param { String } tagNames &#35201;&#26597;&#25214;&#30340;&#20803;&#32032;&#21517;&#31216;</span>","<span class=\"c\">         * @return { Array } &#36820;&#22238;&#25214;&#21040;&#30340;&#33410;&#28857;&#21015;&#34920;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.getNodesByTagName('span');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        getNodesByTagName<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>tagNames<span class=\"k\">)</span> <span class=\"k\">{</span>","            tagNames <span class=\"k\">=</span> utils<span class=\"k\">.</span>trim<span class=\"k\">(</span>tagNames<span class=\"k\">).</span>replace<span class=\"k\">(</span><span class=\"s\">/[ ]{2,}/g</span><span class=\"k\">,</span> <span class=\"s\">' '</span><span class=\"k\">).</span>split<span class=\"k\">(</span><span class=\"s\">' '</span><span class=\"k\">);</span>","            <span class=\"k\">var</span> arr <span class=\"k\">=</span> <span class=\"k\">[],</span> me <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","            utils<span class=\"k\">.</span>each<span class=\"k\">(</span>tagNames<span class=\"k\">,</span> <span class=\"k\">function</span> <span class=\"k\">(</span>tagName<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>me<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> me<span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span> ci<span class=\"k\">;</span> ci <span class=\"k\">=</span> me<span class=\"k\">.</span>children<span class=\"k\">[</span>i<span class=\"k\">++];)</span> <span class=\"k\">{</span>","                        getNodesByTagName<span class=\"k\">(</span>ci<span class=\"k\">,</span> tagName<span class=\"k\">,</span> arr<span class=\"k\">)</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span><span class=\"k\">);</span>","            <span class=\"k\">return</span> arr<span class=\"k\">;</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#26681;&#25454;&#26679;&#24335;&#21517;&#31216;&#65292;&#33719;&#21462;&#33410;&#28857;&#30340;&#26679;&#24335;&#20540;</span>","<span class=\"c\">         * @method getStyle</span>","<span class=\"c\">         * @param { String } name &#35201;&#33719;&#21462;&#30340;&#26679;&#24335;&#21517;&#31216;</span>","<span class=\"c\">         * @return { String } &#36820;&#22238;&#26679;&#24335;&#20540;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.getStyle('font-size');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        getStyle<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>name<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">var</span> cssStyle <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>getAttr<span class=\"k\">(</span><span class=\"s\">'style'</span><span class=\"k\">);</span>","            <span class=\"k\">if</span> <span class=\"k\">(!</span>cssStyle<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">return</span> <span class=\"s\">''</span>","            <span class=\"k\">}</span>","            <span class=\"k\">var</span> reg <span class=\"k\">=</span> <span class=\"k\">new</span> RegExp<span class=\"k\">(</span>name <span class=\"k\">+</span> <span class=\"s\">':([^;]+)'</span><span class=\"k\">,</span> <span class=\"s\">'i'</span><span class=\"k\">);</span>","            <span class=\"k\">var</span> match <span class=\"k\">=</span> cssStyle<span class=\"k\">.</span>match<span class=\"k\">(</span>reg<span class=\"k\">);</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>match <span class=\"k\">&amp;&amp;</span> match<span class=\"k\">[</span><span class=\"s\">0</span><span class=\"k\">])</span> <span class=\"k\">{</span>","                <span class=\"k\">return</span> match<span class=\"k\">[</span><span class=\"s\">1</span><span class=\"k\">]</span>","            <span class=\"k\">}</span>","            <span class=\"k\">return</span> <span class=\"s\">''</span><span class=\"k\">;</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#32473;&#33410;&#28857;&#35774;&#32622;&#26679;&#24335;</span>","<span class=\"c\">         * @method setStyle</span>","<span class=\"c\">         * @param { String } name &#35201;&#35774;&#32622;&#30340;&#30340;&#26679;&#24335;&#21517;&#31216;</span>","<span class=\"c\">         * @param { String } val &#35201;&#35774;&#32622;&#30340;&#30340;&#26679;&#20540;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * node.setStyle('font-size', '12px');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        setStyle<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>name<span class=\"k\">,</span> val<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">function</span> exec<span class=\"k\">(</span>name<span class=\"k\">,</span> val<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">var</span> reg <span class=\"k\">=</span> <span class=\"k\">new</span> RegExp<span class=\"k\">(</span>name <span class=\"k\">+</span> <span class=\"s\">':([^;]+;?)'</span><span class=\"k\">,</span> <span class=\"s\">'gi'</span><span class=\"k\">);</span>","                cssStyle <span class=\"k\">=</span> cssStyle<span class=\"k\">.</span>replace<span class=\"k\">(</span>reg<span class=\"k\">,</span> <span class=\"s\">''</span><span class=\"k\">);</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>val<span class=\"k\">)</span> <span class=\"k\">{</span>","                    cssStyle <span class=\"k\">=</span> name <span class=\"k\">+</span> <span class=\"s\">':'</span> <span class=\"k\">+</span> utils<span class=\"k\">.</span>unhtml<span class=\"k\">(</span>val<span class=\"k\">)</span> <span class=\"k\">+</span> <span class=\"s\">';'</span> <span class=\"k\">+</span> cssStyle","                <span class=\"k\">}</span>","","            <span class=\"k\">}</span>","","            <span class=\"k\">var</span> cssStyle <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>getAttr<span class=\"k\">(</span><span class=\"s\">'style'</span><span class=\"k\">);</span>","            <span class=\"k\">if</span> <span class=\"k\">(!</span>cssStyle<span class=\"k\">)</span> <span class=\"k\">{</span>","                cssStyle <span class=\"k\">=</span> <span class=\"s\">''</span><span class=\"k\">;</span>","            <span class=\"k\">}</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>utils<span class=\"k\">.</span>isObject<span class=\"k\">(</span>name<span class=\"k\">))</span> <span class=\"k\">{</span>","                <span class=\"k\">for</span> <span class=\"k\">(</span><span class=\"k\">var</span> a <span class=\"k\">in</span> name<span class=\"k\">)</span> <span class=\"k\">{</span>","                    exec<span class=\"k\">(</span>a<span class=\"k\">,</span> name<span class=\"k\">[</span>a<span class=\"k\">])</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                exec<span class=\"k\">(</span>name<span class=\"k\">,</span> val<span class=\"k\">)</span>","            <span class=\"k\">}</span>","            <span class=\"k\">this</span><span class=\"k\">.</span>setAttr<span class=\"k\">(</span><span class=\"s\">'style'</span><span class=\"k\">,</span> utils<span class=\"k\">.</span>trim<span class=\"k\">(</span>cssStyle<span class=\"k\">))</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#20256;&#20837;&#19968;&#20010;&#20989;&#25968;&#65292;&#36882;&#24402;&#36941;&#21382;&#24403;&#21069;&#33410;&#28857;&#19979;&#30340;&#25152;&#26377;&#33410;&#28857;</span>","<span class=\"c\">         * @method traversal</span>","<span class=\"c\">         * @param { Function } fn &#36941;&#21382;&#21040;&#33410;&#28857;&#30340;&#26102;&#65292;&#20256;&#20837;&#33410;&#28857;&#20316;&#20026;&#21442;&#25968;&#65292;&#36816;&#34892;&#27492;&#20989;&#25968;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * traversal(node, function(){</span>","<span class=\"c\">         *     console.log(node.type);</span>","<span class=\"c\">         * });</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        traversal<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>fn<span class=\"k\">)</span> <span class=\"k\">{</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> <span class=\"k\">this</span><span class=\"k\">.</span>children<span class=\"k\">.</span>length<span class=\"k\">)</span> <span class=\"k\">{</span>","                nodeTraversal<span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">,</span> fn<span class=\"k\">);</span>","            <span class=\"k\">}</span>","            <span class=\"k\">return</span> <span class=\"k\">this</span><span class=\"k\">;</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span>","<span class=\"k\">}</span><span class=\"k\">)();</span>"];
_$jscoverage['core/node.js'][15]++;
(function () {
  _$jscoverage['core/node.js'][37]++;
  var uNode = (UE.uNode = (function (obj) {
  _$jscoverage['core/node.js'][38]++;
  this.type = obj.type;
  _$jscoverage['core/node.js'][39]++;
  this.data = obj.data;
  _$jscoverage['core/node.js'][40]++;
  this.tagName = obj.tagName;
  _$jscoverage['core/node.js'][41]++;
  this.parentNode = obj.parentNode;
  _$jscoverage['core/node.js'][42]++;
  this.attrs = (obj.attrs || {});
  _$jscoverage['core/node.js'][43]++;
  this.children = obj.children;
}));
  _$jscoverage['core/node.js'][45]++;
  var indentChar = "    ", breakChar = "\n";
  _$jscoverage['core/node.js'][48]++;
  function insertLine(arr, current, begin) {
    _$jscoverage['core/node.js'][49]++;
    arr.push(breakChar);
    _$jscoverage['core/node.js'][50]++;
    return (current + (begin? 1: -1));
}
  _$jscoverage['core/node.js'][53]++;
  function insertIndent(arr, current) {
    _$jscoverage['core/node.js'][55]++;
    for (var i = 0; (i < current); (i++)) {
      _$jscoverage['core/node.js'][56]++;
      arr.push(indentChar);
}
}
  _$jscoverage['core/node.js'][62]++;
  uNode.createElement = (function (html) {
  _$jscoverage['core/node.js'][63]++;
  if (/[<>]/.test(html)) {
    _$jscoverage['core/node.js'][64]++;
    return UE.htmlparser(html).children[0];
  }
  else {
    _$jscoverage['core/node.js'][66]++;
    return new uNode({type: "element", children: [], tagName: html});
  }
});
  _$jscoverage['core/node.js'][73]++;
  uNode.createText = (function (data) {
  _$jscoverage['core/node.js'][74]++;
  return new (UE.uNode)({type: "text", "data": utils.unhtml((data || ""))});
});
  _$jscoverage['core/node.js'][79]++;
  function nodeToHtml(node, arr, formatter, current) {
    _$jscoverage['core/node.js'][80]++;
    switch (node.type) {
    case "root":
      _$jscoverage['core/node.js'][82]++;
      for (var i = 0, ci; (ci = node.children[(i++)]);) {
        _$jscoverage['core/node.js'][84]++;
        if ((formatter && (ci.type == "element") && (! dtd.$inlineWithA[ci.tagName]) && (i > 1))) {
          _$jscoverage['core/node.js'][85]++;
          insertLine(arr, current, true);
          _$jscoverage['core/node.js'][86]++;
          insertIndent(arr, current);
        }
        _$jscoverage['core/node.js'][88]++;
        nodeToHtml(ci, arr, formatter, current);
}
      _$jscoverage['core/node.js'][90]++;
      break;
    case "text":
      _$jscoverage['core/node.js'][92]++;
      isText(node, arr);
      _$jscoverage['core/node.js'][93]++;
      break;
    case "element":
      _$jscoverage['core/node.js'][95]++;
      isElement(node, arr, formatter, current);
      _$jscoverage['core/node.js'][96]++;
      break;
    case "comment":
      _$jscoverage['core/node.js'][98]++;
      isComment(node, arr, formatter);
    }
    _$jscoverage['core/node.js'][100]++;
    return arr;
}
  _$jscoverage['core/node.js'][103]++;
  function isText(node, arr) {
    _$jscoverage['core/node.js'][104]++;
    arr.push(((node.parentNode.tagName == "pre")? node.data: node.data.replace(/[ ]{2}/g, " &nbsp;")));
}
  _$jscoverage['core/node.js'][107]++;
  function isElement(node, arr, formatter, current) {
    _$jscoverage['core/node.js'][108]++;
    var attrhtml = "";
    _$jscoverage['core/node.js'][109]++;
    if (node.attrs) {
      _$jscoverage['core/node.js'][110]++;
      attrhtml = [];
      _$jscoverage['core/node.js'][111]++;
      var attrs = node.attrs;
      _$jscoverage['core/node.js'][112]++;
      for (var a in attrs) {
        _$jscoverage['core/node.js'][113]++;
        attrhtml.push((a + ((attrs[a] !== undefined)? ("=\"" + utils.unhtml(attrs[a]) + "\""): "")));
}
      _$jscoverage['core/node.js'][115]++;
      attrhtml = attrhtml.join(" ");
    }
    _$jscoverage['core/node.js'][117]++;
    arr.push(("<" + node.tagName + (attrhtml? (" " + attrhtml): "") + (dtd.$empty[node.tagName]? "/": "") + ">"));
    _$jscoverage['core/node.js'][122]++;
    if ((formatter && (! dtd.$inlineWithA[node.tagName]) && (node.tagName != "pre"))) {
      _$jscoverage['core/node.js'][123]++;
      if ((node.children && node.children.length)) {
        _$jscoverage['core/node.js'][124]++;
        current = insertLine(arr, current, true);
        _$jscoverage['core/node.js'][125]++;
        insertIndent(arr, current);
      }
    }
    _$jscoverage['core/node.js'][129]++;
    if ((node.children && node.children.length)) {
      _$jscoverage['core/node.js'][130]++;
      for (var i = 0, ci; (ci = node.children[(i++)]);) {
        _$jscoverage['core/node.js'][131]++;
        if ((formatter && (ci.type == "element") && (! dtd.$inlineWithA[ci.tagName]) && (i > 1))) {
          _$jscoverage['core/node.js'][132]++;
          insertLine(arr, current);
          _$jscoverage['core/node.js'][133]++;
          insertIndent(arr, current);
        }
        _$jscoverage['core/node.js'][135]++;
        nodeToHtml(ci, arr, formatter, current);
}
    }
    _$jscoverage['core/node.js'][138]++;
    if ((! dtd.$empty[node.tagName])) {
      _$jscoverage['core/node.js'][139]++;
      if ((formatter && (! dtd.$inlineWithA[node.tagName]) && (node.tagName != "pre"))) {
        _$jscoverage['core/node.js'][141]++;
        if ((node.children && node.children.length)) {
          _$jscoverage['core/node.js'][142]++;
          current = insertLine(arr, current);
          _$jscoverage['core/node.js'][143]++;
          insertIndent(arr, current);
        }
      }
      _$jscoverage['core/node.js'][146]++;
      arr.push(("</" + node.tagName + ">"));
    }
}
  _$jscoverage['core/node.js'][151]++;
  function isComment(node, arr) {
    _$jscoverage['core/node.js'][152]++;
    arr.push(("<!--" + node.data + "-->"));
}
  _$jscoverage['core/node.js'][155]++;
  function getNodeById(root, id) {
    _$jscoverage['core/node.js'][156]++;
    var node;
    _$jscoverage['core/node.js'][157]++;
    if (((root.type == "element") && (root.getAttr("id") == id))) {
      _$jscoverage['core/node.js'][158]++;
      return root;
    }
    _$jscoverage['core/node.js'][160]++;
    if ((root.children && root.children.length)) {
      _$jscoverage['core/node.js'][161]++;
      for (var i = 0, ci; (ci = root.children[(i++)]);) {
        _$jscoverage['core/node.js'][162]++;
        if ((node = getNodeById(ci, id))) {
          _$jscoverage['core/node.js'][163]++;
          return node;
        }
}
    }
}
  _$jscoverage['core/node.js'][169]++;
  function getNodesByTagName(node, tagName, arr) {
    _$jscoverage['core/node.js'][170]++;
    if (((node.type == "element") && (node.tagName == tagName))) {
      _$jscoverage['core/node.js'][171]++;
      arr.push(node);
    }
    _$jscoverage['core/node.js'][173]++;
    if ((node.children && node.children.length)) {
      _$jscoverage['core/node.js'][174]++;
      for (var i = 0, ci; (ci = node.children[(i++)]);) {
        _$jscoverage['core/node.js'][175]++;
        getNodesByTagName(ci, tagName, arr);
}
    }
}
  _$jscoverage['core/node.js'][180]++;
  function nodeTraversal(root, fn) {
    _$jscoverage['core/node.js'][181]++;
    if ((root.children && root.children.length)) {
      _$jscoverage['core/node.js'][182]++;
      for (var i = 0, ci; (ci = root.children[i]);) {
        _$jscoverage['core/node.js'][183]++;
        nodeTraversal(ci, fn);
        _$jscoverage['core/node.js'][185]++;
        if (ci.parentNode) {
          _$jscoverage['core/node.js'][186]++;
          if ((ci.children && ci.children.length)) {
            _$jscoverage['core/node.js'][187]++;
            fn(ci);
          }
          _$jscoverage['core/node.js'][189]++;
          if (ci.parentNode) {
            _$jscoverage['core/node.js'][189]++;
            (i++);
          }
        }
}
    }
    else {
      _$jscoverage['core/node.js'][193]++;
      fn(root);
    }
}
  _$jscoverage['core/node.js'][198]++;
  uNode.prototype = {toHtml: (function (formatter) {
  _$jscoverage['core/node.js'][221]++;
  var arr = [];
  _$jscoverage['core/node.js'][222]++;
  nodeToHtml(this, arr, formatter, 0);
  _$jscoverage['core/node.js'][223]++;
  return arr.join("");
}), innerHTML: (function (htmlstr) {
  _$jscoverage['core/node.js'][249]++;
  if (((this.type != "element") || dtd.$empty[this.tagName])) {
    _$jscoverage['core/node.js'][250]++;
    return this;
  }
  _$jscoverage['core/node.js'][252]++;
  if (utils.isString(htmlstr)) {
    _$jscoverage['core/node.js'][253]++;
    if (this.children) {
      _$jscoverage['core/node.js'][254]++;
      for (var i = 0, ci; (ci = this.children[(i++)]);) {
        _$jscoverage['core/node.js'][255]++;
        ci.parentNode = null;
}
    }
    _$jscoverage['core/node.js'][258]++;
    this.children = [];
    _$jscoverage['core/node.js'][259]++;
    var tmpRoot = UE.htmlparser(htmlstr);
    _$jscoverage['core/node.js'][260]++;
    for (var i = 0, ci = ci; (ci = tmpRoot.children[(i++)]);) {
      _$jscoverage['core/node.js'][261]++;
      this.children.push(ci);
      _$jscoverage['core/node.js'][262]++;
      ci.parentNode = this;
}
    _$jscoverage['core/node.js'][264]++;
    return this;
  }
  else {
    _$jscoverage['core/node.js'][266]++;
    var tmpRoot = new (UE.uNode)({type: "root", children: this.children});
    _$jscoverage['core/node.js'][270]++;
    return tmpRoot.toHtml();
  }
}), innerText: (function (textStr) {
  _$jscoverage['core/node.js'][297]++;
  if (((this.type != "element") || dtd.$empty[this.tagName])) {
    _$jscoverage['core/node.js'][298]++;
    return this;
  }
  _$jscoverage['core/node.js'][300]++;
  if (textStr) {
    _$jscoverage['core/node.js'][301]++;
    if (this.children) {
      _$jscoverage['core/node.js'][302]++;
      for (var i = 0, ci; (ci = this.children[(i++)]);) {
        _$jscoverage['core/node.js'][303]++;
        ci.parentNode = null;
}
    }
    _$jscoverage['core/node.js'][306]++;
    this.children = [];
    _$jscoverage['core/node.js'][307]++;
    this.appendChild(uNode.createText(textStr));
    _$jscoverage['core/node.js'][308]++;
    return this;
  }
  else {
    _$jscoverage['core/node.js'][310]++;
    return this.toHtml().replace(/<[^>]+>/g, "");
  }
}), getData: (function () {
  _$jscoverage['core/node.js'][324]++;
  if ((this.type == "element")) {
    _$jscoverage['core/node.js'][325]++;
    return "";
  }
  _$jscoverage['core/node.js'][326]++;
  return this.data;
}), firstChild: (function () {
  _$jscoverage['core/node.js'][342]++;
  return (this.children? this.children[0]: null);
}), lastChild: (function () {
  _$jscoverage['core/node.js'][358]++;
  return (this.children? this.children[(this.children.length - 1)]: null);
}), previousSibling: (function () {
  _$jscoverage['core/node.js'][371]++;
  var parent = this.parentNode;
  _$jscoverage['core/node.js'][372]++;
  for (var i = 0, ci; (ci = parent.children[i]); (i++)) {
    _$jscoverage['core/node.js'][373]++;
    if ((ci === this)) {
      _$jscoverage['core/node.js'][374]++;
      return ((i == 0)? null: parent.children[(i - 1)]);
    }
}
}), nextSibling: (function () {
  _$jscoverage['core/node.js'][390]++;
  var parent = this.parentNode;
  _$jscoverage['core/node.js'][391]++;
  for (var i = 0, ci; (ci = parent.children[(i++)]);) {
    _$jscoverage['core/node.js'][392]++;
    if ((ci === this)) {
      _$jscoverage['core/node.js'][393]++;
      return parent.children[i];
    }
}
}), replaceChild: (function (target, source) {
  _$jscoverage['core/node.js'][410]++;
  if (this.children) {
    _$jscoverage['core/node.js'][411]++;
    if (target.parentNode) {
      _$jscoverage['core/node.js'][412]++;
      target.parentNode.removeChild(target);
    }
    _$jscoverage['core/node.js'][414]++;
    for (var i = 0, ci; (ci = this.children[i]); (i++)) {
      _$jscoverage['core/node.js'][415]++;
      if ((ci === source)) {
        _$jscoverage['core/node.js'][416]++;
        this.children.splice(i, 1, target);
        _$jscoverage['core/node.js'][417]++;
        source.parentNode = null;
        _$jscoverage['core/node.js'][418]++;
        target.parentNode = this;
        _$jscoverage['core/node.js'][419]++;
        return target;
      }
}
  }
}), appendChild: (function (node) {
  _$jscoverage['core/node.js'][436]++;
  if (((this.type == "root") || ((this.type == "element") && (! dtd.$empty[this.tagName])))) {
    _$jscoverage['core/node.js'][437]++;
    if ((! this.children)) {
      _$jscoverage['core/node.js'][438]++;
      this.children = [];
    }
    _$jscoverage['core/node.js'][440]++;
    if (node.parentNode) {
      _$jscoverage['core/node.js'][441]++;
      node.parentNode.removeChild(node);
    }
    _$jscoverage['core/node.js'][443]++;
    for (var i = 0, ci; (ci = this.children[i]); (i++)) {
      _$jscoverage['core/node.js'][444]++;
      if ((ci === node)) {
        _$jscoverage['core/node.js'][445]++;
        this.children.splice(i, 1);
        _$jscoverage['core/node.js'][446]++;
        break;
      }
}
    _$jscoverage['core/node.js'][449]++;
    this.children.push(node);
    _$jscoverage['core/node.js'][450]++;
    node.parentNode = this;
    _$jscoverage['core/node.js'][451]++;
    return node;
  }
}), insertBefore: (function (target, source) {
  _$jscoverage['core/node.js'][469]++;
  if (this.children) {
    _$jscoverage['core/node.js'][470]++;
    if (target.parentNode) {
      _$jscoverage['core/node.js'][471]++;
      target.parentNode.removeChild(target);
    }
    _$jscoverage['core/node.js'][473]++;
    for (var i = 0, ci; (ci = this.children[i]); (i++)) {
      _$jscoverage['core/node.js'][474]++;
      if ((ci === source)) {
        _$jscoverage['core/node.js'][475]++;
        this.children.splice(i, 0, target);
        _$jscoverage['core/node.js'][476]++;
        target.parentNode = this;
        _$jscoverage['core/node.js'][477]++;
        return target;
      }
}
  }
}), insertAfter: (function (target, source) {
  _$jscoverage['core/node.js'][496]++;
  if (this.children) {
    _$jscoverage['core/node.js'][497]++;
    if (target.parentNode) {
      _$jscoverage['core/node.js'][498]++;
      target.parentNode.removeChild(target);
    }
    _$jscoverage['core/node.js'][500]++;
    for (var i = 0, ci; (ci = this.children[i]); (i++)) {
      _$jscoverage['core/node.js'][501]++;
      if ((ci === source)) {
        _$jscoverage['core/node.js'][502]++;
        this.children.splice((i + 1), 0, target);
        _$jscoverage['core/node.js'][503]++;
        target.parentNode = this;
        _$jscoverage['core/node.js'][504]++;
        return target;
      }
}
  }
}), removeChild: (function (node, keepChildren) {
  _$jscoverage['core/node.js'][523]++;
  if (this.children) {
    _$jscoverage['core/node.js'][524]++;
    for (var i = 0, ci; (ci = this.children[i]); (i++)) {
      _$jscoverage['core/node.js'][525]++;
      if ((ci === node)) {
        _$jscoverage['core/node.js'][526]++;
        this.children.splice(i, 1);
        _$jscoverage['core/node.js'][527]++;
        ci.parentNode = null;
        _$jscoverage['core/node.js'][528]++;
        if ((keepChildren && ci.children && ci.children.length)) {
          _$jscoverage['core/node.js'][529]++;
          for (var j = 0, cj; (cj = ci.children[j]); (j++)) {
            _$jscoverage['core/node.js'][530]++;
            this.children.splice((i + j), 0, cj);
            _$jscoverage['core/node.js'][531]++;
            cj.parentNode = this;
}
        }
        _$jscoverage['core/node.js'][535]++;
        return ci;
      }
}
  }
}), getAttr: (function (attrName) {
  _$jscoverage['core/node.js'][552]++;
  return (this.attrs && this.attrs[attrName.toLowerCase()]);
}), setAttr: (function (attrName, attrVal) {
  _$jscoverage['core/node.js'][567]++;
  if ((! attrName)) {
    _$jscoverage['core/node.js'][568]++;
    (delete this.attrs);
    _$jscoverage['core/node.js'][569]++;
    return;
  }
  _$jscoverage['core/node.js'][571]++;
  if ((! this.attrs)) {
    _$jscoverage['core/node.js'][572]++;
    this.attrs = {};
  }
  _$jscoverage['core/node.js'][574]++;
  if (utils.isObject(attrName)) {
    _$jscoverage['core/node.js'][575]++;
    for (var a in attrName) {
      _$jscoverage['core/node.js'][576]++;
      if ((! attrName[a])) {
        _$jscoverage['core/node.js'][577]++;
        (delete this.attrs[a]);
      }
      else {
        _$jscoverage['core/node.js'][579]++;
        this.attrs[a.toLowerCase()] = attrName[a];
      }
}
  }
  else {
    _$jscoverage['core/node.js'][583]++;
    if ((! attrVal)) {
      _$jscoverage['core/node.js'][584]++;
      (delete this.attrs[attrName]);
    }
    else {
      _$jscoverage['core/node.js'][586]++;
      this.attrs[attrName.toLowerCase()] = attrVal;
    }
  }
}), getIndex: (function () {
  _$jscoverage['core/node.js'][602]++;
  var parent = this.parentNode;
  _$jscoverage['core/node.js'][603]++;
  for (var i = 0, ci; (ci = parent.children[i]); (i++)) {
    _$jscoverage['core/node.js'][604]++;
    if ((ci === this)) {
      _$jscoverage['core/node.js'][605]++;
      return i;
    }
}
  _$jscoverage['core/node.js'][608]++;
  return -1;
}), getNodeById: (function (id) {
  _$jscoverage['core/node.js'][622]++;
  var node;
  _$jscoverage['core/node.js'][623]++;
  if ((this.children && this.children.length)) {
    _$jscoverage['core/node.js'][624]++;
    for (var i = 0, ci; (ci = this.children[(i++)]);) {
      _$jscoverage['core/node.js'][625]++;
      if ((node = getNodeById(ci, id))) {
        _$jscoverage['core/node.js'][626]++;
        return node;
      }
}
  }
}), getNodesByTagName: (function (tagNames) {
  _$jscoverage['core/node.js'][643]++;
  tagNames = utils.trim(tagNames).replace(/[ ]{2,}/g, " ").split(" ");
  _$jscoverage['core/node.js'][644]++;
  var arr = [], me = this;
  _$jscoverage['core/node.js'][645]++;
  utils.each(tagNames, (function (tagName) {
  _$jscoverage['core/node.js'][646]++;
  if ((me.children && me.children.length)) {
    _$jscoverage['core/node.js'][647]++;
    for (var i = 0, ci; (ci = me.children[(i++)]);) {
      _$jscoverage['core/node.js'][648]++;
      getNodesByTagName(ci, tagName, arr);
}
  }
}));
  _$jscoverage['core/node.js'][652]++;
  return arr;
}), getStyle: (function (name) {
  _$jscoverage['core/node.js'][666]++;
  var cssStyle = this.getAttr("style");
  _$jscoverage['core/node.js'][667]++;
  if ((! cssStyle)) {
    _$jscoverage['core/node.js'][668]++;
    return "";
  }
  _$jscoverage['core/node.js'][670]++;
  var reg = new RegExp((name + ":([^;]+)"), "i");
  _$jscoverage['core/node.js'][671]++;
  var match = cssStyle.match(reg);
  _$jscoverage['core/node.js'][672]++;
  if ((match && match[0])) {
    _$jscoverage['core/node.js'][673]++;
    return match[1];
  }
  _$jscoverage['core/node.js'][675]++;
  return "";
}), setStyle: (function (name, val) {
  _$jscoverage['core/node.js'][689]++;
  function exec(name, val) {
    _$jscoverage['core/node.js'][690]++;
    var reg = new RegExp((name + ":([^;]+;?)"), "gi");
    _$jscoverage['core/node.js'][691]++;
    cssStyle = cssStyle.replace(reg, "");
    _$jscoverage['core/node.js'][692]++;
    if (val) {
      _$jscoverage['core/node.js'][693]++;
      cssStyle = (name + ":" + utils.unhtml(val) + ";" + cssStyle);
    }
}
  _$jscoverage['core/node.js'][698]++;
  var cssStyle = this.getAttr("style");
  _$jscoverage['core/node.js'][699]++;
  if ((! cssStyle)) {
    _$jscoverage['core/node.js'][700]++;
    cssStyle = "";
  }
  _$jscoverage['core/node.js'][702]++;
  if (utils.isObject(name)) {
    _$jscoverage['core/node.js'][703]++;
    for (var a in name) {
      _$jscoverage['core/node.js'][704]++;
      exec(a, name[a]);
}
  }
  else {
    _$jscoverage['core/node.js'][707]++;
    exec(name, val);
  }
  _$jscoverage['core/node.js'][709]++;
  this.setAttr("style", utils.trim(cssStyle));
}), traversal: (function (fn) {
  _$jscoverage['core/node.js'][724]++;
  if ((this.children && this.children.length)) {
    _$jscoverage['core/node.js'][725]++;
    nodeTraversal(this, fn);
  }
  _$jscoverage['core/node.js'][727]++;
  return this;
})};
})();
