Ребята кто поймет, можете подробно расписать как работает данная функция. И зачем она нужна. Я так понимаю она какие-то изменения в DOM производит.
var cdf = (function(doc) {
var frag = doc.createDocumentFragment(),
elem = doc.createElement('div'),
range = doc.createRange && doc.createRange();
frag.appendChild(elem);
range && range.selectNodeContents(elem);
return range && range.createContextualFragment ?
function (html) {
if (!html) return doc.createDocumentFragment();
return range.createContextualFragment(html);
} :
function (html) {
if (!html) return doc.createDocumentFragment();
elem.innerHTML = html;
var frag = doc.createDocumentFragment();
while (elem.firstChild) {
frag.appendChild(elem.firstChild);
}
return frag;
};
})(document);