//創(chuàng)一個元素div做為容器
tmp = tmp || fragment.appendChild(context.createElement("div"));
...
jQuery.merge(nodes, tmp.childNodes);
大神這里還遺漏的有代碼。
通過jQuery.merge(nodes, tmp.childNodes)把碎片中的子節(jié)點添加到nodes中,但fragment沒有清除子節(jié)點。如果把fragment附加到dom節(jié)點,會保留這些未清楚的子節(jié)點。
應(yīng)該在后面加上:
tmp = fragment.firstChild;
tmp.textContent = "";
tmp = tmp || fragment.appendChild(context.createElement("div"));
...
jQuery.merge(nodes, tmp.childNodes);
大神這里還遺漏的有代碼。
通過jQuery.merge(nodes, tmp.childNodes)把碎片中的子節(jié)點添加到nodes中,但fragment沒有清除子節(jié)點。如果把fragment附加到dom節(jié)點,會保留這些未清楚的子節(jié)點。
應(yīng)該在后面加上:
tmp = fragment.firstChild;
tmp.textContent = "";
2016-10-08
最新回答 / Aero_Jin
只要不是單閉合標(biāo)簽, 都會增加結(jié)束標(biāo)簽, 例如:elem = "<div>123";用這段正則替換后, 就變成"<div>123</div>",?這是一種容錯機制.
2016-09-30
最新回答 / Aero_Jin
正常應(yīng)該是會去掉的, 這里應(yīng)該是個不完整的例子, 例子的作用主要還是讓你理解思路, 你可以看下下一節(jié)domManip(下), 這一節(jié)中是這么處理的:?<...code...>
2016-09-30
請大家學(xué)習(xí)的注意這兩個地方、很容易忽略:
1.上面的方法改掉了TYPE其實就是讓腳本無法解析(不是報錯)、js會忽略
2.上面關(guān)注的正則,是為了兼容XML進(jìn)行的處理、而上文是在javascript中運行所以替換掉了
OK!
1.上面的方法改掉了TYPE其實就是讓腳本無法解析(不是報錯)、js會忽略
2.上面關(guān)注的正則,是為了兼容XML進(jìn)行的處理、而上文是在javascript中運行所以替換掉了
OK!
2016-09-25
為大家解釋幾點:
parentEles[0].ownerDocument //就是Document文檔對象
fragment.firstChild //獲取創(chuàng)建成功的DOM、也就是我們需要添加的對象
context.createElement("div") //不要誤解,就是普通的創(chuàng)建一個元素 一般:document.xxx 或者 $(...)
fragment.appendChild() //返回創(chuàng)建的元素,也就是DIV
if (first){callback.call(parentEles, first);} //如果創(chuàng)建成功,寫入文檔
自此:本頁內(nèi)容就是這些!
parentEles[0].ownerDocument //就是Document文檔對象
fragment.firstChild //獲取創(chuàng)建成功的DOM、也就是我們需要添加的對象
context.createElement("div") //不要誤解,就是普通的創(chuàng)建一個元素 一般:document.xxx 或者 $(...)
fragment.appendChild() //返回創(chuàng)建的元素,也就是DIV
if (first){callback.call(parentEles, first);} //如果創(chuàng)建成功,寫入文檔
自此:本頁內(nèi)容就是這些!
2016-09-21
規(guī)避WebKit checked屬性
// We can't cloneNode fragments that contain checked, in WebKit
if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) {return this.each(function() {jQuery(this).domManip( args, table, callback, true );});}
// We can't cloneNode fragments that contain checked, in WebKit
if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) {return this.each(function() {jQuery(this).domManip( args, table, callback, true );});}
2016-09-20
局部變量初始化
2: var results, first, fragment, parent,
3: value = args[0],
4: scripts = [];
5:
2: var results, first, fragment, parent,
3: value = args[0],
4: scripts = [];
5:
2016-09-20