title: Why does ASP.Net RadioButton and CheckBox render inside a Span?
body: <p>I would expect this:</p>
  
  <pre><code>&lt;asp:CheckBox    ID="CheckBox1"    runat="server" CssClass="myClass" /&gt;
  &lt;asp:RadioButton ID="RadioButton1" runat="server" CssClass="myClass" /&gt;
  &lt;asp:TextBox     ID="TextBox1"     runat="server" CssClass="myClass" /&gt;
  </code></pre>
  
  <p>...to render like this <em>(with some attributes removed for simplicity)</em>:</p>
  
  <pre><code>&lt;input id="CheckBox1"    type="checkbox" class="myClass" /&gt;
  &lt;input id="RadioButton1" type="radio"    class="myClass" /&gt;
  &lt;input id="TextBox1"     type="text"     class="myClass" /&gt; 
  </code></pre>
  
  <p>...when in fact, the <code>RadioButton</code> and <code>CheckBox</code> get wrapped with a <code>span</code> tag and the CSS class gets applied there.</p>
  
  <pre><code>&lt;span class="myClass"&gt;&lt;input id="CheckBox1"    type="checkbox" /&gt;&lt;/span&gt; 
  &lt;span class="myClass"&gt;&lt;input id="RadioButton1" type="radio"    /&gt;&lt;/span&gt; 
  &lt;input type="text" id="TextBox1" class="myClass" /&gt; 
  </code></pre>
  
  <p>Is there a reason for this and is there a way to avoid it? It makes jQuery selectors ugly since you can't catch all of them with:</p>
  
  <pre><code>$("input.myClass")
  </code></pre>
  
  <p>Granted it is just going to:</p>
  
  <pre><code>$("input.myClass, span.myClass input")
  </code></pre>
  
  <p>...but that is ugly. I could write my own selector, but again not as elegant as it should be.</p>