我遇到了将点击框的背景颜色加载到rgb数组的问题。
正如您所看到的那样,当我使用rgb1 = color.split(",");
这个创建字符串数组时,如
[
"49",
" 133",
" 155"
]
所以我尝试将项目解析为类似rgb2 = parseInt(color.split(","));
的int,但现在我正在返回时获得49
。
您可以告诉我如何将结果导出为
[49,133,155]
$(".box").on("click", function () {
color = $(this).css("background-color").substring(4).slice(0,-1);
rgb1 = color.split(",");
rgb2 = parseInt(color.split(","));
console.log(color);
console.log(rgb1);
console.log(rgb2);
});

.box{
height:30px;
width:30px;
background:#31859B;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box"></div>
&#13;
答案 0 :(得分:3)
您可以使用仅与数字部分匹配的正则表达式。然后将字符串转换为数字。
var color = "49, 133, 155",
parts = color.match(/\d+/g).map(Number);
console.log(parts);
&#13;
答案 1 :(得分:0)
$(".box").on("click", function () {
color = $(this).css("background-color").substring(4).slice(0,-1);
rgb1 = color.split(",");
rgb2 = [];
for (var i = 0; i < rgb1.length; i++) {
rgb2[i] = parseInt(rgb1[i]);
}
console.log(rgb2);
});
.box{
height:30px;
width:30px;
background:#31859B;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box"></div>