1

私はhtmlテーブルを持っています

    <table class="mytable">
       <tr>
           <td>
            test value
           </td>
       <tr>
    </table>

ページの読み込み時に動的に td を追加する

        $(".mytable tr:first").append("<td id='scheduledInMyLearnStatus' class='changeFieldValue' style='background-color:#FE2E2E;'></td>");

その特定の td をクリックすると、背景色 =#FE2E2E があるかどうか、または他の何かがあるかどうかを比較したい

    $('td').live('click', function() {

       //compare here 
    });
4

3 に答える 3

4

jQuery メソッドを使用できますが、代わりに使用できる非推奨であることcss()に注意してください。live()on

$(document).on('click', '#scheduledInMyLearnStatus', function(){ // or $('.mytable').on
    if($(this).css('background-color') == "rgb(254, 46, 46)") {
      // do something
    }
})

デモ

于 2012-08-03T06:42:20.070 に答える
1

セレクターを 1 つだけ使用できると思います。

$(document).on("click", ".changeFieldValue[style~='background-color']", function () {
  // do something
});

また、決定された色が必要な場合は、'background-color' の代わりに 'background-color: rgb(200, 122, 122)' を指定します。

于 2012-08-03T06:46:01.897 に答える
1

関数を次のようにすることができます

$('.mytable td').live('クリック', function() {

        bgColor= hexc($(this).css("background-color"));
        if(bgColor.toUpperCase() == "#FE2E2E")
        {
            alert("Background color matched to '#FE2E2E'")
        }
        else
        {
            alert("Background color don't  matched to '#FE2E2E'")
        }

    });   

hexcの定義は次のようになります

関数 hexc(colorval)

{
    var color = "";
    var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    if(parts != null )
    {
        parts[0] = "#";
        for (var i = 1; i <= 3; ++i) 
        {
            parts[i] = parseInt(parts[i]).toString(16);
            if (parts[i].length == 1) parts[i] = '0' + parts[i];
        }
        color = parts.join('');
    }
    return color;
}
于 2012-08-03T07:08:28.367 に答える