mi aspetterei questo:Perché ASP.Net RadioButton e CheckBox eseguono il rendering all'interno di Span?
<asp:CheckBox ID="CheckBox1" runat="server" CssClass="myClass" />
<asp:RadioButton ID="RadioButton1" runat="server" CssClass="myClass" />
<asp:TextBox ID="TextBox1" runat="server" CssClass="myClass" />
... per rendere in questo modo (con alcuni attributi asportate per chiarezza):
<input id="CheckBox1" type="checkbox" class="myClass" />
<input id="RadioButton1" type="radio" class="myClass" />
<input id="TextBox1" type="text" class="myClass" />
... quando in realtà, il RadioButton
e CheckBox
essere avvolto con un tag span
e la classe CSS viene applicata lì.
<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" />
C'è un motivo per questo ed esiste un modo per evitarlo? Rende selettori di jQuery brutto dal momento che non si può prendere tutti con:
$("input.myClass")
Concesso è solo andare a:
$("input.myClass, span.myClass input")
... ma questo è brutto. Potrei scrivere il mio selezionatore, ma di nuovo non è elegante come dovrebbe essere.
come solo $ (". MyClass")? – Hardwareguy
Non una risposta, ma solo commiserazione - quando ho iniziato a lavorare sulla piattaforma .NET alcuni anni fa e stavo usando JS per scoprire il valore di una casella di controllo, ho trascorso alcune ore cercando di capire perché i miei valori non erano avviso. Indovina cosa - i tag span. Mi sono sempre chiesto perché MS ha aggiunto tag ridondanti per i loro pulsanti radio e le caselle di controllo! – Dhana
@Hardwareguy A volte quello sarà lo span ea volte quello sarà l'input. Quello è il problema. $ ("input.myclass") potrebbe essere un po 'troppo specifico, ma $ (". myClass") potrebbe darti lo stesso mal di testa. – Mark