12345678910111213141516171819202122232425262728293031323334 |
- /**
- * createElement
- * Edited from:
- * @link https://stackoverflow.com/a/42405694
- */
- function createElement(tag, attrs, children) {
- var element = document.createElement(tag);
- for (let name in attrs) {
- if (name && attrs.hasOwnProperty(name)) {
- let value = attrs[name];
- if (name == "dangerouslySetInnerHTML") {
- element.innerHTML = value.__html;
- }
- else if (value === true) {
- element.setAttribute(name, name);
- } else if (value !== false && value != null) {
- element.setAttribute(name, value.toString());
- }
- }
- }
- for (let i = 2; i < arguments.length; i++) {
- let child = arguments[i];
- if (child) {
- element.appendChild(
- child.nodeType == null ?
- document.createTextNode(child.toString()) : child);
- }
- }
- return element;
- }
- export default createElement;
|