 <pre><code>// Here UL will be the id attribute, not the &lt;ul&gt; element. var UL = document.createElement('ul').id = 'meta-ul'; // this doesn't makes sense... (id.appendChild) UL.appendChild(li1) ; // solution: var UL = document.createElement('ul'); UL.id = 'meta-ul'; </code></pre> <p>And the same goes for Dialog and Tabs. (your li1 and li2 are fine)</p> <p>Oh, and as long as you're not using anything starting with $, you cannot conflict with jQuery.</p>