'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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;