2014-05-08 111 views
0

我有一些CSS可以更改我的驗證文本顏色的顏色。我希望在複選框被選中時顏色變成綠色。我的JQuery似乎不喜歡對標籤的引用。有什麼建議麼?使用JQuery更改跨度文本的顏色

剃刀HTML

@Html.TextBoxFor(model => model.textBox) 
@Html.ValidationMessageFor(model => model.textBox,"Required", new { @class = "disableRequired" }) 

CSS

span.disableRequired.field-validation-error{ 
    color:yellow; 
} 

JQuery的不工作

$('#checkBox').click(function() { 
    $("span.disableRequired.field-validation-error").css("color", "green"); 
}); 
+1

請張貼您的HTML以及。 – pmandell

+0

嘗試製作一個http://jsfiddle.net/,以便我們可以更好地看到問題 – fernandopasik

回答

1

你的JavaScript代碼是好的,如果有在控制檯中沒有錯誤(檢查谷歌瀏覽器),比它應該只是罰款。 Here is a JsFiddle which proves it's correct JavaScript code。你的問題必須在其他地方。

$('span.disabled').click(function() { 
    $('.disabled').css("color", "red"); 
}); 
+1

感謝您驗證它不是我的JQuery,我最終在早期版本上嘗試了它,並且它工作,所以我改變了我今天不應該有的事情。但它現在有效,所以謝謝你! – joetinger

4

這裏是解決方案

CSS

.greentext 
{ 
    color: green; 
} 

的Javascript

$('#checkBox').click(function() { 

    if($(this).is(":checked")) { 
     $("span.disableRequired.field-validation-error").addClass("greentext"); 
    } 
    else { 
     $("span.disableRequired.field-validation-error").removeClass("greentext"); 
    } 
}); 
+0

也可以使用toggleClass,因爲它將觸發一個複選框,該複選框只有兩種可能的狀態。 – Irdrah