2009-08-03 14 views

risposta

38

Meglio pratica è quello di separare UI dalla logica, nel tuo caso:

$("#textboxid").addClass("aClass"); 

Se si ha realmente bisogno la tua strada, quindi effettuare le seguenti operazioni:

$("#textboxid").css({"background-color": "color"}); 

Sostituire #textboxid con il selettore desiderato e il colore con il colore desiderato.

notare quanto segue fa lo stesso per una proprietà:

$("#textboxid").css("background-color", "color"); 
+1

Non c'è bisogno di presentazione hard coded in js. Usa Css per stile, js per comportamento. – redsquare

10
$('#txtBoxID').css('background-color', '#ffff00'); 
8

meglio aggiungere un nome di classe all'ingresso piuttosto che stili di codifica duri nei vostri js. Gli stili di presentazione dovrebbero risiedere in css non js.

$('#inputId').addClass('someCssClass'); 
+0

E questo è anche quello che stai facendo ora. Direi che dovresti aggiungere una classe semantica, non backgroundRed, la vedo come antipattern. E forse il codice qui è il codice dell'interfaccia utente. – Dykam

+0

era solo un campione .... ovviamente non dovresti avere classi per ogni colore. geee – redsquare

+0

Non si dovrebbe ancora usare lo stile hard code in js. Cosa succede quando vuole un bordo, quindi un font diverso. Finisci con un brutto pasticcio di js. – redsquare

0

Meglio ancora, non utilizzare jQuery. Presumo che si vuole fare questo su messa a fuoco o nel caso di sfocatura, in modo da poter fare:

#textboxid {background-color:defaultcolor;} 
#textboxid:focus {background-color:selectedcolor;} 
Problemi correlati