Javascript 如何获取背景色小数?

Javascript 如何获取背景色小数?,javascript,html,Javascript,Html,我正在尝试读取我设置为小数的背景色,例如rgb(44.9,19.37255) 使用此代码 $("p").css("background-color") 但当使用时,它会将其四舍五入为rgb(45、19255) 我只想得到小数 这是示例代码: <script> $(document).ready(function(){ $("button").click(function(){ alert("Background color = " + $("p").css

我正在尝试读取我设置为小数的背景色,例如rgb(44.9,19.37255) 使用此代码

$("p").css("background-color") 
但当使用时,它会将其四舍五入为rgb(45、19255)

我只想得到小数

这是示例代码:

<script>
$(document).ready(function(){
    $("button").click(function(){
        alert("Background color = " + $("p").css("background-color"));
    });
});
</script>
</head>
<body>

<h2>This is a heading</h2>

<p style="background-color:rgb(44.9, 19.373737, 255)">This is a paragraph.</p>


<button>Return background-color of p</button>

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
警报(“背景色=“+$”(“p”).css(“背景色”);
});
});
这是一个标题
这是一个段落

返回p的背景色
rgb()
使用8位颜色和2^8=256。因此,只能使用范围从
0
255
整数


问题似乎在于您的后端逻辑,它正在生成小数点值。在存储或使用RGB值之前,您可以对其进行舍入。

RGB值由三个8位整数(字节)组成,红色、绿色和蓝色的范围分别为0到255。这些值中不允许有小数部分。因此,你的风格不起作用

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
警报(“背景色=“+$”(“p”).css(“背景色”);
});
});

这是一个标题
这是一个段落


返回p的背景色
我认为十进制值没有任何意义。比较全面,并在RGB中使用它。

我喜欢测试

让我们假设我们不知道颜色是由整数组成的,让我们测试:

让我们做4个div,一个是十进制值,3个是红色和绿色的四舍五入

接下来,让我们使用photofilter之类的照片应用程序验证输出

第一个div不显示在jsfiddle中,不显示在chrome中,但显示在firefox和edge中,这是一个足够好的警告

如果在firefox中运行代码,您将获得:

#2D13FF
适用于
rgb(44.9,19.373737255)
rgb(45,19,255)
,这意味着firefox足够好,可以舍入到更接近的整数


不要依赖浏览器友好,而要使用整数

这就是在后台发生的情况,rgb取3个整数值您的
rgb()
首先不应该包含浮点数。这是不允许的。您可能应该修复生成此html输出的代码。当您将这些值设置为CSS时,它们会自动被截断或四舍五入为整数。如果以后需要小数,则必须将原始小数存储到变量中。或者,对于原生JS,:
element.attributes.style.value
,并从结果中提取最初编写的值。看起来像是
$('p')。attr('style')
也可以。不可能在RGB中传递十进制值。@sam这是可能的,尽管浏览器自然会忽略小数。