1234567891011121314151617181920212223242526272829303132333435363738394041 |
- var each = require('./each');
- var $safeEls = require('./$safeEls');
- var isStr = require('./isStr');
- exports = {
- before: insertFactory('beforebegin'),
- after: insertFactory('afterend'),
- append: insertFactory('beforeend'),
- prepend: insertFactory('afterbegin')
- };
- function insertFactory(type) {
- return function(nodes, val) {
- nodes = $safeEls(nodes);
- each(nodes, function(node) {
- if (isStr(val)) {
- node.insertAdjacentHTML(type, val);
- } else {
- var parentNode = node.parentNode;
- switch (type) {
- case 'beforebegin':
- if (parentNode) {
- parentNode.insertBefore(val, node);
- }
- break;
- case 'afterend':
- if (parentNode) {
- parentNode.insertBefore(val, node.nextSibling);
- }
- break;
- case 'beforeend':
- node.appendChild(val);
- break;
- case 'afterbegin':
- node.prepend(val);
- break;
- }
- }
- });
- };
- }
- module.exports = exports;
|