[thelist] JS: createHTMLElement and onclick

ben morrison morrison.ben at gmail.com
Wed Jul 5 05:54:09 CDT 2006


Hi,

I've created a createHTMLElement function so I can easily make new
elements, which was working fine in firefox, but IE was struggling
with class and onclick - I was setting them as attributes. So i added
a CASE statement to attach them.

I still cannot get the onclick to work, have tried setting onclick =
function(){} and also tried using attachEvent but still no joy. I'm
probably going about this the wrong way...

Here's my current code:

	function createHTMLElement () {
			var rtnHTMLObj = document.createElement(createHTMLElement.arguments[0])
			for(s=1;s<createHTMLElement.arguments.length;s=s+2) {
				switch ( true ) {
					case ( createHTMLElement.arguments[s] == 'text' ) :
rtnHTMLObj.appendChild( document.createTextNode(
createHTMLElement.arguments[s+1] ) ); break;
				case ( createHTMLElement.arguments[s] == 'class' ) :
rtnHTMLObj.className = createHTMLElement.arguments[s+1]; break;
				case ( createHTMLElement.arguments[s] == 'onclick' ) :
onclick=function() {createHTMLElement.arguments[s+1]}; break;
			default : rtnHTMLObj.setAttribute( createHTMLElement.arguments[s],
createHTMLElement.arguments[s+1] );
				}

			}
			return rtnHTMLObj;
		}
		
		
		
		function createButton() {
			var deleteRowButton=createHTMLElement("input","type","button","value","delete","class","buttonOptions","onclick","testing(1,2)");
			var insertElement = document.getElementById('insertHere');
			insertElement.appendChild(deleteRowButton);
		}

Ben



More information about the thelist mailing list