gpt4 book ai didi

jquery - 使用此代码单击时我无法更改类背景颜色。为什么?

转载 作者:太空宇宙 更新时间:2023-11-04 05:44:07 26 4
gpt4 key购买 nike

$(document).ready(function(){
function checker() {
if ($(".check-box-label").css("background-color") === "none"){
$(".check-box-label").css("background-color", "#1F7566")
}else{
$(".check-box-label").css("background-color", "none")
}
};
});

$(".check-box-label").on("click", checker);

使用这段代码,.check-box-label background-color 应该根据实际的 background-color 值在点击时改变颜色,为什么它不起作用?谢谢

最佳答案

几个问题,

1.) .css("backgroundColor")返回的是rgb,不是hex,所以我加了一个常用的方法用来转成hex

2.) 将背景颜色设置为无将不起作用。您需要改用“透明”或“初始”

function rgb2hex(rgb) {
if ( rgb.search("rgb") == -1 ) {
return rgb;
} else {
rgb = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+))?\)$/);
function hex(x) {
return ("0" + parseInt(x).toString(16)).slice(-2);
}
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
}

function checker() {
var targetColor = "#1f7566";
var color = $(".check-box-label").css("backgroundColor");
console.log(rgb2hex(color), rgb2hex(color) != targetColor)
if (rgb2hex(color) != targetColor){
$(".check-box-label").css("background-color", targetColor)
}else{
$(".check-box-label").css("background-color", "initial")
}
};

$(".check-box-label").on("click", checker);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label class="check-box-label">
things
</label>

关于jquery - 使用此代码单击时我无法更改类背景颜色。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58880541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com