1

jQuery に関するヘルプが必要です。74 のフォントの色を赤にする方法を教えてください。つまり、成績が 75 を下回るとフォントの色が赤に、合格した場合は緑に変わります。

$("document").ready( function(){

 //alert("working");

var passing_grade = parseInt("75");
var grade = parseInt($(".grade").val());

    if( grade < passing_grade ){
        $(".grade").css("color","#ff000");
    } else {
        $(".grade").css("color","#066d06");
}


} ); 
4

3 に答える 3

3

valmethod は、フォーム要素の値を取得/設定するために使用されます。要素がフォーム要素でない場合は、またはメソッド.gradeを使用する必要があります。が使用される場合にも注意してください。.texthtmlparseIntradix

$(document).ready( function(){
    $(".grade").css("color", function() {
        return parseInt(this.value, 10) > 75 ? "#ff0000" : "#066d06"
    })
}); 

li要素の場合は、代わりにメソッドを使用する必要がありtextますval:

return parseInt($(this).text(), 10) > 75 ? "#ff0000" : "#066d06"

http://jsfiddle.net/wsBBH/

于 2012-10-28T08:29:49.517 に答える
1

問題は、赤のカラー コードが正しくないことです。赤の場合は#ff0000(タイプミスで、別のゼロを追加していません。)

このコードを試して、

var passing_grade = parseInt("75");
var grade = parseInt($(".grade").val());

    if( grade < passing_grade ){    
        $(".grade").css("color",'#ff0000');  // <<< Change the color code HERE
    } else {
        $(".grade").css("color","#066d06");
    }

デモ: http://jsfiddle.net/muthkum/xC89P/3/

アップデート:

.gradeこのコードを試してください。各要素をループして CSS を適用する必要があります

    var passing_grade = parseInt("75");

    $(".grade").each(function(){
       var grade = parseInt($(this).text());

        if( grade < passing_grade ){    
            $(this).css("color",'#ff0000');
        } else {
            $(this).css("color","#066d06");
        }
    })

デモ: http://jsfiddle.net/muthkum/xC89P/5/

</p>

于 2012-10-28T08:33:34.070 に答える
0

.val( を使用しているため)がテキスト入力フィールドであると仮定すると.grade、値が変わるたびにそのフィールドの色が変わるようにするには、次のようにします。

var pass = 75;

$('.grade').on('change', function() {
    var grade = parseInt(this.value, 10);
    $(this).css('color', grade < pass ? '#ff0000' : '#066d06');
});
于 2012-10-28T08:30:03.290 に答える