2009-08-30 14 views
9

Sicher ist es eine einfache Frage, aber ich kann es nicht beheben, kann mir jemand helfen?Fügen Sie css Schriftfarbe mit jquery

Dies ist die ursprüngliche Linie

$('.winning-col', this).text($('td.win', this).length); 

und das ist, wo ich mit aufkommen, sicherlich nicht richtig.

$('.winning-col', this).text.css('color', 'pink'($('td.win', this).length)); 
+0

Ein "jquery" -Tag hinzugefügt, da diese Frage zu jQuery gehört. –

Antwort

23

Sie könnten es tun, um die Schnell Weg:

$(".winning-col", this) 
    .text($("td.win", this).length) 
    .css("color", "pink"); 

Aber im Idealfall würden Sie .addClass statt:

$(".winning-col", this) 
    .text($("td.win", this).length) 
    .addClass("hilighted"); 

Wo

.hilighted { color: pink; } 
3
$('.winning-col', this).text($('td.win', this).length).css('color', 'pink'); 
6

Try this:

$('.winning-col', this).text($('td.win', this).length).css('color', 'pink'); 

Jeder Funktionsaufruf, auch in jQuery, getrennt ist nach wie vor. Der erste Anruf ist .text(), um den Text zu ändern. Die zweite ist .css(), um das CSS zu ändern. Es passiert einfach, dass in jQuery jeder Funktionsaufruf dieses Typs ein jQuery-Objekt zurückgibt, auf dem Sie weitere Funktionen aufrufen können, um sie alle gut miteinander zu verketten.

+0

Großer Kommentar, danke! – Chris

12

Dachte, ich hinzufügen möchte ein paar zusätzliche Informationen hier, nur für den Fall, dass Sie sich dessen nicht bewusst sind. Wenn Sie die css() Funktion verwenden, können Sie auch die Argumente angeben, wie, was einen Objektliteral genannt, was im Grunde bedeutet, etwas in diesem Format:

{objectVarName1: objectVarValue1, objectVarName2: objectVarValue2} 

Sie auch es wie folgt tun:

{"objectVarName1": objectVarValue1, "objectVarName2": objectVarValue1} 

Mit der CSS-() Funktion, Sie können dies tun:

$("#the_item_id").css({backgroundColor: "#333", color: "#FFF"}); 

Wenn die Variablennamen Sie vorbei in Anführungszeichen sind nicht, haben Sie es in Kamel-Fall zu tun, wie ich oben tat , was bedeutet, dass th Das erste Wort des Namens der CSS-Eigenschaft ist Kleinbuchstaben, aber jedes Wort dahinter ist in Großbuchstaben geschrieben (so wird die CSS-Eigenschaft background-color zu backgroundColor). Um das Äquivalent der oben in der Form zu tun, wo Sie den Namen der Variablen im Objekt setzen in Anführungszeichen, würden Sie gerade tun:

$("#the_item_id").css({"background-color": "#333", "color": "#FFF"}); 

Ich wollte nur darauf hinweisen, dass Sie nicht an die Kette haben mehrere Aufrufe von .css() zusammen, damit Sie alle Ihre CSS-Änderungen gleichzeitig durchführen können. ;)

+1

Großartig! Ich hatte fast JavaScript auf einer verständnisvollen Ebene, und jetzt gibt es jquery ;-) – Chris

+0

rofl. jQuery vereinfacht die Dinge wirklich, weil die Syntax einfacher ist. wenn ich raten müsste, würde ich sagen, dass wahrscheinlich 75% der arbeit, die ich heute mit javascript mache, in jquery ist, nicht im basis-level javascript selbst. jquery ist zu Javascript, was C++ zur Maschinensprache ist ... (Steroide?) –

Verwandte Themen