MediaWiki:Gadget-LegacyScriptsNewNode.js

// this script is deprecated do not use newNode function! use jQuery instead

/** * Create a new DOM node for the current document. *   Basic usage: *       var mySpan = newNode('span', "Hello World!") *   Supports attributes and event handlers: *       var mySpan = newNode('span', {style:"color: red", focus: function{alert(this)}, id:"hello"}, "World, Hello!") *   Also allows nesting to create trees: *       var myPar = newNode('p', newNode('b',{style:"color: blue"},"Hello"), mySpan) **/

var newNode = window.newNode = function newNode(tagname) { var node = document.createElement(tagname);

for (var i = 1; i < arguments.length; i++) { var argument = arguments[i]; if (typeof argument == 'string') { //Text node.appendChild(document.createTextNode(argument)); } else if (typeof argument == 'object') { if (argument instanceof Node) { // If it is a DOM Node node.appendChild(argument); } else { // Attributes (hopefully) for (var j in argument) { if (j === 'class') { // Classname different because... node.className = argument[j]; } else if (j == 'style') { // Style is special node.style.cssText = argument[j]; } else if (typeof argument[j] == 'function') { // Basic event handlers node.addEventListener(j, argument[j], false); } else { node.setAttribute(j, argument[j]); //Normal attributes }				}			}		}	}	return node; };