天天看点

浅谈原生JavaScript实现remove()和recover()

利用原生JavaScript实现:

1、remove(selectors)删除指定的一个或一组元素。

2、recover(selectors)恢复刚才删除的元素。

function remove(selectors) {
	selectors.removeNode = [];
	if (selectors.length != undefined) {
		var len = selectors.length;
		for (var i = 0; i < len; i++) {
			selectors.removeNode.push({
				parent: selectors[i].parentNode,
				inner: selectors[i].outerHTML,
				next: selectors[i].nextSibling
			});
		}
		for (var i = 0; i < len; i++)
			selectors[0].parentNode.removeChild(selectors[0]);
	}
	else {
		selectors.removeNode.push({
			parent: selectors.parentNode,
			inner: selectors.outerHTML,
			next: selectors.nextSibling
		});
		selectors.parentNode.removeChild(selectors);
	}	
}
function recover(selectors) {
	var len = selectors.removeNode.length;
	for (var i = 0; i < len; i++) {
		var node = selectors.removeNode[i];
		if (node.next == null)
			node.parent.innerHTML += node.inner;
		else {
			var div = document.createElement("div");
			div.innerHTML = node.inner;
			node.parent.insertBefore(div.childNodes[0], node.next);
		}
	}
}
           

继续阅读