jquery获取css颜色值返回RGB应用

代码如下:

 代码如下 复制代码

a, a:link, a:visited { color:#4188FB; }
a:active, a:focus, a:hover { color:#FFCC00; }

js代码如下:

 代码如下 复制代码

var link_col = $("a:link").css("color");
alert(link_col); // returns rgb(65, 136, 251)

jquey貌似设置颜色,使用的是rgb格式的。

用以下这个function,把rgb转成“#xxxx”(HEX )格式。

 代码如下 复制代码

var rgbString = "rgb(0, 70, 255)"; // get this in whatever way.
var parts = rgbString
        .match(/^rgb((d+),s*(d+),s*(d+))$/)
;
// parts now should be ["rgb(0, 70, 255", "0", "70", "255"]
delete (parts[0]);
for (var i = 1; i <= 3; ++i) {
    parts[i] = parseInt(parts[i]).toString(16);
    if (parts[i].length == 1) parts[i] = '0' + parts[i];
}
var hexString = parts.join(''); // "0070ff"

或者用这个function

 代码如下 复制代码

function rgb2hex(rgb) {
 rgb = rgb.match(/^rgb((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]);
}

补充一下

获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法

使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE10以下版本中是以HEX格式显示【#ffff00】,而IE10,、Chrome、Firefox中则是以GRB格式显示【rgb(255,0,0)】,由于需要对颜色值进行判断处理,所以需要得到统一的颜色格式,最好是HEX格式的,方便处理点。搜索了一下,从国外的一个网站上得到一段代码:

 

 代码如下 复制代码

$.fn.getHexBackgroundColor = function() {
    var rgb = $(this).css('background-color');
    rgb = rgb.match(/^rgb((d+),s*(d+),s*(d+))$/);
    function hex(x) {return ("0" + parseInt(x).toString(16)).slice(-2);}
    return rgb= "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}

上面定义的是一个jQuery函数,我们可以通过 $("#bg").getHexBackgroundColor(); 获取到标签id="bg"的background-color的RGB值。

下面做一下小小的修改,就是加一个判断,如果是显示HEX值(IE10以下)就直接拿值,如果是非IE浏览器则将值转换成RGB格式:

 代码如下 复制代码

$.fn.getBackgroundColor = function() {
     var rgb = $(this).css('background-color');
     if(rgb >= 0) return rgb;//如果是一个hex值则直接返回
    else{
         rgb = rgb.match(/^rgb((d+),s*(d+),s*(d+))$/);
         function hex(x) {return ("0" + parseInt(x).toString(16)).slice(-2);}
         rgb= "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
     }
     return rgb;
 }

时间: 2024-10-26 22:31:35

jquery获取css颜色值返回RGB应用的相关文章

jquery获取css的color值返回RGB的方法_jquery

本文实例讲述了jquery获取css的color值返回RGB的方法.分享给大家供大家参考,具体如下: css代码如下: a, a:link, a:visited { color:#4188FB; } a:active, a:focus, a:hover { color:#FFCC00; } js代码如下: var link_col = $("a:link").css("color"); alert(link_col); // returns rgb(65, 136,

javascript-js获取css样式返回的值如何进行判断?

问题描述 js获取css样式返回的值如何进行判断? 比如返回了rbg(255,0,0),用直接字符串"rbg(255,0,0)"做相等判断似乎不行,返回false,不知道用什么方法可以做判断? 解决方案 返回了rbg(255,0,0),那么alert下返回值是显示什么的? 解决方案二: 返回值前后可能会有空格,所以判断会可能不相等 解决方案三: 返回的可能不是一个字符串,,typeof看看,,

jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法_jquery

使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE10以下版本中是以HEX格式显示[#ffff00],而IE10,.Chrome.Firefox中则是以GRB格式显示[rgb(255,0,0)],由于需要对颜色值进行判断处理,所以需要得到统一的颜色格式,最好是HEX格式的,方便处理点.搜索了一下,从国外的一个网站上得到一段代码: 复制代码 代码如下: $.fn.getHexBackgroundColor = function() {    var rgb

jQuery获取css z-index在各种浏览器中的返回值_jquery

测试代码: 复制代码 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="GBK" /> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title>jQuery Css Test</titl

jquery 获取css值

jquery的css格式为("属性","参数") 如果要获取width的百分比输入以下代码就可以了 math.round(($("#js_top_ment").width()/$(document).width())*100) 方法二 var cssrules=document.stylesheets[0].cssrules||document.stylesheets[0].rules;     alert(cssrules[0].style.c

jquery获取css中的选择器(实例讲解)_jquery

开始写之前先复习一下元素和节点的区别: 元素是W3C文档对象模型(DOM)当中使用最广泛的节点之一. 元素拥有关联的"属性". XmlElement类拥有许多方法来访问它的"属性"(GetAttribute, SetAttribute, RemoveAttribute, GetAttributeNode, 等等). 你也可以使用"Attributes"属性来返回一个支持"名字"或者"序号"访问的"

jquery 获取c#的返回值,long的值为什么会四舍五入

问题描述 我在cs页面有入下方法[WebMethod]publicstaticlongGet(){return5311806010885163116;}前台用ajax方法获取$.ajax({type:"POST",contentType:"application/json",url:"Default.aspx/Get",data:_data,cache:false,dataType:"json",success:SetData

jquery实现将获取的颜色值转换为十六进制形式的方法_jquery

本文实例讲述了jquery实现将获取的颜色值转换为十六进制形式的方法.分享给大家供大家参考.具体分析如下: 大家或许已经注意到了,在谷歌.火狐和IE8以上浏览器中,获取的颜色值是RGB形式,例如rgb(255,255,0),感觉非常不适应,或者在实际编码中不方便使用,这个时候就需要进行转换,下面就提供一段相关转换代码. 具体代码如下: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf

jQuery获取样式中颜色值的方法_jquery

本文实例讲述了jQuery获取样式中颜色值的方法.分享给大家供大家参考.具体分析如下: 今天使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE中与Chrome.Firefox显示的格式不一样,IE中是以HEX格式显示[#ffff00],而Chrome.Firefox中则是以GRB格式显示[rgb(255,0,0)],由于需要将颜色值存储到数据库中,所以想让颜色值的格式统一下(其实不统一也是可以存的).搜索了一下,从国外的一个网站上得到一段代码: $.fn