我有一个if
有 2 个条件的语句。由于某种原因,它将背景颜色更改为红色,而不是黑色。
$(".circles").click(function() {
counter++;
if (counter % 2 === 0 && $(this).css("background-color")=="#FFFFFF") {
$(this).css("background-color", "black");
} else {
$(this).css("background-color", "red");
}
})
The .circles
被设定为#FFFFFF
起初。
怎么了?
浏览器可能会给你返回rgb
如果你使用颜色css("background-color")
方法,但这并不确定。如果您想确定,请创建一个具有白色背景的元素并获取其属性:
var whiteColor = $('<div/>').css({
backgroundColor: '#fff'
}).css('backgroundColor');
var counter = 0;
$(".circles").click(function() {
counter++;
if (counter % 2 === 0 && $(this).css("background-color") == whiteColor) {
$(this).css("background-color", "black");
} else {
$(this).css("background-color", "red");
}
})
.circles {
background-color: #FFFFFF;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="circles" style="background-color: #fff;">
Click me
</div>
致谢这个答案 https://stackoverflow.com/questions/12124451/jquery-if-background-color#answer-12124493.
Also on 这个小提琴 https://jsfiddle.net/ywx5pjgg/1/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)