Do you have custom widgets in your project already?  I have several wrappers around old dojo widgets that made upgrading to dijit much easer as I could keep the interface for my developers the same and code to the new dijit controls in my wrapper.  You could just inherit and set it...  (You can probably use "inherited" over "superclass".  I just saw that in a recent check in :) )
<br><br>Something like:<br><br>dojo.provide(&quot;toms.Menu&quot;);<br><br>dojo.require(&quot;dijit.Menu&quot;);<br><br>dojo.declare(<br>&nbsp;&nbsp;&nbsp; &quot;toms.Menu&quot;,<br>&nbsp;&nbsp;&nbsp; dijit.Menu,<br>{<br>&nbsp;&nbsp;&nbsp; postCreate: function(){<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; toms.Menu.superclass.postCreate.apply(this, arguments);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.domNode.setAttribute(&quot;id&quot;, <a href="http://this.id">this.id</a>);<br>&nbsp;&nbsp;&nbsp; }<br>});<br><br><div><span class="gmail_quote">On 8/31/07, 
<b class="gmail_sendername">Tom Trenka</b> &lt;<a href="mailto:ttrenka@gmail.com">ttrenka@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Gotcha, thanks. &nbsp;Unfortunately for me, the template change I&#39;d need is in the dijit.Menu :(<div><br></div><div>Anyone else with thoughts on this?</div><div><br>
</div><div>trt<div><span class="e" id="q_114bd5d3f2389990_1"><br><br><div><span class="gmail_quote">On 8/30/07, <b class="gmail_sendername">peter e higgins</b> &lt;<a href="mailto:dante@inpdx.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
dante@inpdx.net</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>I won&#39;t chime in like I know the reason, but the behavior is intended, yes.<br>Some widgets with templates set id=&quot;${id}&quot; on the first element in the<br>template, which provides the CSS access you are looking for, but others do
<br>not.<br><br>the part in:<br><a href="http://trac.dojotoolkit.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://trac.dojotoolkit.org</a>/attachment/ticket/4063/presentation.patch<br><br>
that patches dijit/_Widget.js seems like it would fix what you are trying to
<br>do.<br><br><br>On Friday 31 August 2007 12:53, Tom Trenka wrote:<br>&gt; Hi guys,<br>&gt; So in doing a lot of porting work from 0.4 to 0.9 with Dijit, we&#39;ve run<br>&gt; across a number of problems (many of them not Dijit-related), but there&#39;s
<br>&gt; one that stands out that seems like a deliberate choice.&nbsp;&nbsp;Basically, it<br>&gt; seems that Dijit will take something like this:<br>&gt;<br>&gt; &lt;div dojoType=&quot;dijit.Menu&quot; id=&quot;myMenu&quot;&gt;&lt;/div&gt;
<br>&gt;<br>&gt; ...and in the process of rendering, will change it to this:<br>&gt;<br>&gt; &lt;table dojoType=&quot;dijit.Menu&quot; widgetid=&quot;myMenu&quot;&gt;&lt;/table&gt;<br>&gt;<br>&gt;<br>&gt; We haven&#39;t had any real issues with node swapping (
i.e. the div -&gt; table<br>&gt; here), but not having the original ID available is causing us major<br>&gt; headaches, particularly when we run into a situation where we need to be<br>&gt; able to define styles on very specific elements within a single instance of
<br>&gt; a Dijit.&nbsp;&nbsp;In several places in this application, I&#39;ve been forced to pull<br>&gt; something like this:<br>&gt;<br>&gt; dojo.query(&quot;*[widgetid=&#39;myMenu&#39;]&quot;).forEach(function(node){ ...do<br>&gt; something... };
<br>&gt;<br>&gt; ...in order to get access to help style internal structures (this<br>&gt; particular example came from trying a method of creating custom icons on<br>&gt; tree nodes with dijit.Tree, but you get the idea).&nbsp;&nbsp;In particular, I&#39;ve run
<br>&gt; across a situation where we have a dijit.Menu that needs to stretch to fill<br>&gt; the pane that it&#39;s placed in, and then be able to set widths on the<br>&gt; individual cells that are created.&nbsp;&nbsp;To do this, I had to pull something
<br>&gt; like the following:<br>&gt;<br>&gt; dijit.byId(&quot;myMenu&quot;).domNode.style.width=&quot;100%&quot;;<br>&gt; var rows=dijit.byId(&quot;myMenu&quot;).domNode.tBodies[0].rows;<br>&gt; for(var i=0; i&lt;rows.length

; i++){<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; rows[i].cells[0].style.width=&quot;16px&quot;;&nbsp;&nbsp;// icon cell<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; rows[i].cells[1].style.width=&quot;90%&quot;;&nbsp;&nbsp;// label cell, stretch to fill<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; rows[i].cells[2].style.width=&quot;16px&quot;; // arrow cell, regardless if
<br>&gt; there&#39;s an arrow or not.<br>&gt; }<br>&gt;<br>&gt; This works ok for our situation because we only have one level of items<br>&gt; (i.e. no submenus), but it would have been a lot more intuitive to pull<br>&gt; this in CSS for the overall width and the label:
<br>&gt;<br>&gt; table#myMenu{ width:100%; }<br>&gt; table#myMenu tbody tr td.dijitMenuLabelItem{ width:90%; }<br>&gt;<br>&gt; ...but then we have no access to style the width of either the icon cell or<br>&gt; the arrow one (inspecting the HTML shows both only have &quot;dijitReset&quot; as
<br>&gt; class names).<br>&gt;<br>&gt; My question (after all that) is this:&nbsp;&nbsp;is there a reason why Dijit shifts a<br>&gt; user-defined id to widgetid?&nbsp;&nbsp;To give an example (along the lines above) of<br>&gt; why this can be a bad thing, imagine what I&#39;d have to do to make the above
<br>&gt; CSS work correctly:<br>&gt;<br>&gt; table[widgetid=&#39;myMenu]{ width:100%; }<br>&gt; table[widgetid=&#39;myMenu] tbody tr td.dijitMenuLabelItem{ width:90%; }<br>&gt;<br>&gt; ...which will (of course) not work in Internet Explorer at all.
<br>&gt;<br>&gt; Thoughts?&nbsp;&nbsp;Answers?<br>&gt;<br>&gt; Thanks--<br>&gt; trt<br>_______________________________________________<br>dojo-contributors mailing list<br><a href="mailto:dojo-contributors@dojotoolkit.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
dojo-contributors@dojotoolkit.org</a><br><a href="http://dojotoolkit.org/mailman" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://dojotoolkit.org/mailman</a>/listinfo/dojo-contributors<br></blockquote></div><br>&nbsp;</span></div></div>
<br>_______________________________________________<br>dojo-contributors mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://dojotoolkit.org/mailman/listinfo/dojo-contributors" target="_blank">http://dojotoolkit.org/mailman/listinfo/dojo-contributors</a><br><br></blockquote>
</div><br>