我有一个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
});
答案 0 :(得分:4)
您可以使用jQuery css()
方法,请注意,live()
已被弃用,您可以使用on
代替:
$(document).on('click', '#scheduledInMyLearnStatus', function(){ // or $('.mytable').on
if($(this).css('background-color') == "rgb(254, 46, 46)") {
// do something
}
})
答案 1 :(得分:1)
我相信你只能使用一个选择器:
$(document).on("click", ".changeFieldValue[style~='background-color']", function () {
// do something
});
如果您需要确定的颜色,'background-color:rgb(200,122,122)'而不仅仅是'background-color'。
答案 2 :(得分:1)
您可以使您的功能看起来像
$('。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的定义将是
函数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;
}