Я бы ожидал этого:
<asp:CheckBox ID="CheckBox1" runat="server" CssClass="myClass" />
<asp:RadioButton ID="RadioButton1" runat="server" CssClass="myClass" />
<asp:TextBox ID="TextBox1" runat="server" CssClass="myClass" />
..., чтобы сделать это (с некоторыми атрибутами, удаленными для простоты):
<input id="CheckBox1" type="checkbox" class="myClass" />
<input id="RadioButton1" type="radio" class="myClass" />
<input id="TextBox1" type="text" class="myClass" />
... когда на самом деле RadioButton
и CheckBox
обернуты тегом span
, и там применяется класс CSS.
<span class="myClass"><input id="CheckBox1" type="checkbox" /></span>
<span class="myClass"><input id="RadioButton1" type="radio" /></span>
<input type="text" id="TextBox1" class="myClass" />
Есть ли причина для этого и есть ли способ избежать этого? Это делает селектора jQuery уродливыми, так как вы не можете их поймать:
$("input.myClass")
Конечно, он просто собирается:
$("input.myClass, span.myClass input")
... но это уродливо. Я мог бы написать свой собственный селектор, но опять же не такой изящный, как должен быть.