mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-16 22:30:36 +08:00
perf(jqLite): optimize append() and after()
This commit is contained in:
@@ -262,8 +262,9 @@ function jqLiteDealoc(element, onlyDescendants){
|
||||
function jqLiteOff(element, type, fn, unsupported) {
|
||||
if (isDefined(unsupported)) throw jqLiteMinErr('offargs', 'jqLite#off() does not support the `selector` argument');
|
||||
|
||||
var events = jqLiteExpandoStore(element, 'events');
|
||||
var handle = jqLiteExpandoStore(element, 'handle');
|
||||
var expandoStore = jqLiteExpandoStore(element);
|
||||
var events = expandoStore && expandoStore.events;
|
||||
var handle = expandoStore && expandoStore.handle;
|
||||
var i;
|
||||
var types;
|
||||
|
||||
@@ -803,11 +804,15 @@ forEach({
|
||||
},
|
||||
|
||||
append: function(element, node) {
|
||||
forEach(new JQLite(node), function(child){
|
||||
if (element.nodeType === 1 || element.nodeType === 11) {
|
||||
element.appendChild(child);
|
||||
}
|
||||
});
|
||||
var nodeType = element.nodeType;
|
||||
if (nodeType !== 1 && nodeType !== 11) return;
|
||||
|
||||
node = new JQLite(node);
|
||||
|
||||
for (var i = 0, ii = node.length; i < ii; i++) {
|
||||
var child = node[i];
|
||||
element.appendChild(child);
|
||||
}
|
||||
},
|
||||
|
||||
prepend: function(element, node) {
|
||||
@@ -836,10 +841,13 @@ forEach({
|
||||
|
||||
after: function(element, newElement) {
|
||||
var index = element, parent = element.parentNode;
|
||||
forEach(new JQLite(newElement), function(node){
|
||||
newElement = new JQLite(newElement);
|
||||
|
||||
for (var i = 0, ii = newElement.length; i < ii; i++) {
|
||||
var node = newElement[i];
|
||||
parent.insertBefore(node, index.nextSibling);
|
||||
index = node;
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
addClass: jqLiteAddClass,
|
||||
|
||||
Reference in New Issue
Block a user