我正在使用 jQuery 和 JavaScript 循环遍历 <td>
s 在 <table>
并计算 <TD>
s 的背景颜色为“黄色”,但问题是它不起作用,我真的不确定如何。
我最初以为是因为我在 if 语句中使用了 background-color 而不是 backgroundColor
if ($("td").css("background-color") == "yellow") {
但是交换了两者之后还是不行。我正在使用 .each()
函数获取所有<td>
. .each()
函数确实有效,因为它正在计数 42 <td>
这是正确的,但是当我实现 CSS 检查器时它不起作用(没有错误报告)。
$.ajax({
url: "api/submit-red.php",
type: "POST",
data: $(".submit-move").serialize(),
success: function(result){
$("td").each(function() {
if ($("td").css("backgroundColor") == "yellow") {
console.log("working");
}
});
}
});
即使有 td
,控制台也没有提示“正在工作”背景颜色为“黄色”
========
答案是它们的结合。我不会更正上面的代码,而是会在此处解释错误。
- 我需要使用
$(this)
而不是$("td")
在 if 语句中循环遍历不同的<td>
- 我需要使用 RGB 而不是颜色名称
yellow
需要空格 - 我需要使用
background-color
在backgroundColor
作为 css 属性
最佳答案
你的代码有两个问题:
1) 使用当前上下文 this
来定位每个上下文中的当前元素。
2) 您将获得 rgb 格式的返回颜色。您需要将其转换为名称以进行比较。或与rgb值比较
$("td").each(function() {
if ($(this).css("backgroundColor") == "rgb(255, 255, 0)") {
console.log("working");
}
});
关于jquery - 如何使用 jQuery CSS 选择器设置背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33521142/