Jquery-查找具有给定样式属性的元素

Jquery- Find the element has given style property

本文关键字:样式 属性 元素 查找 Jquery-      更新时间:2023-09-26

我有一个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 
    });

您可以使用jQuery css()方法,请注意live()已弃用,您可以使用on

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

演示

我相信您可以只使用一个选择器:

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

如果你需要确定的颜色,"背景色:rgb(200212222)",而不仅仅是"背景色"。

您可以使您的函数看起来像

$('.mytable td').live('click',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(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;
}