| 123456789101112131415161718192021222324252627282930 |
- /**
- * 创建DOM 节点
- * @param {String} str Dom 字符串
- * @return {HTMLElement} DOM 节点
- */
- var TABLE = document.createElement('table');
- var TABLE_TR = document.createElement('tr');
- var FRAGMENT_REG = /^\s*<(\w+|!)[^>]*>/;
- var CONTAINERS = {
- tr: document.createElement('tbody'),
- tbody: TABLE,
- thead: TABLE,
- tfoot: TABLE,
- td: TABLE_TR,
- th: TABLE_TR,
- '*': document.createElement('div')
- };
- module.exports = function createDom(str) {
- var name = FRAGMENT_REG.test(str) && RegExp.$1;
- if (!(name in CONTAINERS)) {
- name = '*';
- }
- var container = CONTAINERS[name];
- str = str.replace(/(^\s*)|(\s*$)/g, '');
- container.innerHTML = '' + str;
- var dom = container.childNodes[0];
- container.removeChild(dom);
- return dom;
- };
|