2009-08-03 3 views

Antwort

38

Bessere Praxis ist UI zu trennen von der Logik, in Ihrem Fall:

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

Wenn Sie es wirklich brauchen Ihre Art und Weise, dann gehen Sie wie folgt vor:

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

ersetzen #textboxid mit den gewünschten Selektor und Farbe mit der gewünschten Farbe.

Beachten Sie die folgenden macht das gleiche für eine Eigenschaft:

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

Keine Notwendigkeit für hart codierte Präsentation in js. Verwenden Sie Css für Stil, js für Verhalten. – redsquare

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

Besser einen Klassennamen mit dem Eingang hinzuzufügen, anstatt harte Kodierung Stile in Ihrem js. Präsentationsstile sollten in css not js enthalten sein.

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

Und das tun Sie auch jetzt. Ich würde sagen, du solltest eine semantische Klasse hinzufügen, nicht backgroundRed, das sehe ich als Antipattern. Und vielleicht ist der Code hier UI-Code. – Dykam

+0

es war nur eine Probe .... natürlich sollten Sie keine Klassen für jede Farbe haben. geee – redsquare

+0

Sie sollten immer noch nicht Stil in js hart Code. Was passiert, wenn er eine Grenze möchte, dann eine andere Schriftart. Am Ende mit einem hässlichen Durcheinander von js. – redsquare

0

Besser noch, verwenden Sie nicht jQuery. Ich nehme an, Sie dies auf Fokus tun wollen oder auf verwischen, so können Sie tun:

#textboxid {background-color:defaultcolor;} 
#textboxid:focus {background-color:selectedcolor;} 
Verwandte Themen